国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何寫一個 Laravel 的 Artisan 命令行工具?

DandJ / 1393人閱讀

摘要:使用命令行輸出在項目的根目錄下面執(zhí)行。控制臺命令的名稱。執(zhí)行這樣就很簡單的寫出了第一個命令行使用啟動一個服務(wù)我們創(chuàng)建一個服務(wù)命令。

Artisan 是 Laravel 自帶的命令行接口,它提供了許多實用的命令來幫助你構(gòu)建 Laravel 應(yīng)用

開始接觸 Laravel 這個框架的時候,才發(fā)現(xiàn)竟然可以使用命令行去執(zhí)行一些操作,比如:創(chuàng)建文件,運(yùn)行一個服務(wù)等.出于學(xué)習(xí)或者不能滿足需求的時候,我們就需要自己去寫一個 Artisan 命令行。

使用命令行輸出 Hello

在項目的根目錄下面執(zhí)行 php artisan make:command Hello。該命令的結(jié)果會在 appConsole 下面創(chuàng)建一個 Commands 的文件夾,并且創(chuàng)建 Hello.php


app/Console/Commands 下面的命令都會自動注冊到 Artisan,看這個文件app/Console/Kernel.php

    protected function commands()
    {
        $this->load(__DIR__."/Commands");

        require base_path("routes/console.php");
    }

你也可以調(diào)用 load 方法添加你的其他 Commands 文件夾

執(zhí)行 php artisan

執(zhí)行 php artisan hello


這樣就很簡單的寫出了第一個 Artisan 命令行

使用 Artisan 啟動一個服務(wù)

我們創(chuàng)建一個服務(wù)命令 php artisan make:command SwooleStart

on("connect", function ($serv, $fd) {
            echo "Client: Connect.
";
        });

        //監(jiān)聽數(shù)據(jù)接收事件
        $serv->on("receive", function ($serv, $fd, $from_id, $data) {
            $serv->send($fd, "Server: ".$data);
        });

        //監(jiān)聽連接關(guān)閉事件
        $serv->on("close", function ($serv, $fd) {
            echo "Client: Close.
";
        });

        //啟動服務(wù)器
        $serv->start();
    }
}

執(zhí)行 php artisan swoole:start

在打開一個命令行窗口 輸入telnet 127.0.0.1 9501 用來監(jiān)聽這個端口,

這樣就成功的使用 Artisan 啟動了一個服務(wù)。

當(dāng)然你也可以詢問是否啟動

使用 ask 方法

public function handle()
    {
        if ($this->ask("是否啟動 swlloe,請輸入 yes") != "yes") {
            die;
        }
        $serv = new swoole_server("127.0.0.1", 9501);

        //監(jiān)聽連接進(jìn)入事件
        $serv->on("connect", function ($serv, $fd) {
            echo "Client: Connect.
";
        });

        //監(jiān)聽數(shù)據(jù)接收事件
        $serv->on("receive", function ($serv, $fd, $from_id, $data) {
            $serv->send($fd, "Server: " . $data);
        });

        //監(jiān)聽連接關(guān)閉事件
        $serv->on("close", function ($serv, $fd) {
            echo "Client: Close.
";
        });

        //啟動服務(wù)器
        $serv->start();
    }

像 Artisan 那樣創(chuàng)建文件

我們先創(chuàng)建一個命令行文件 php artisan make:MakeController

修改繼承 Commanduse IlluminateConsoleGeneratorCommand;


appConsolecommands下創(chuàng)建一個模板目錄 stubs,里面存放要生成文件的模板,創(chuàng)建 controller.stub


在執(zhí)行 Artisan 是會將 DummyClass 等以 Dummy 開頭的替換為你的參數(shù),替換代碼可以看 GeneratorCommand,

getDefaultNamespace 修改你的文件存放目錄

getStub是必須實現(xiàn)的方法。

執(zhí)行 php artisan controller:make HelloController 你將會在 Httpcontroller 下面看到你使用命令行創(chuàng)建的文件。

創(chuàng)建文件的 handle 在繼承的 GeneratorCommand 里面寫好了,如果你還需要執(zhí)行一些其他操作,在當(dāng)前 command 里面寫就好了。

Artlsan 還可以攜帶參數(shù),還有一些其他的小方法,可以參考 Laravle 的文檔。

Laravel 的 Artisan 命令行工具

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/30653.html

相關(guān)文章

  • 2. Laravel視圖View和路由Route初探 - Laravel從零開始教程

    摘要:在程序界最熟悉的莫過于通過輸出我們能了解路由和最基礎(chǔ)的視圖,這一小節(jié),我們主要是學(xué)習(xí)下如何創(chuàng)建路由,如何加載視圖,這節(jié)非常簡單,跟著做就行。從零開始學(xué)教程目錄 在程序界最熟悉的莫過于Hello World,通過輸出Hello Word,我們能了解路由和最基礎(chǔ)的視圖,這一小節(jié),我們主要是學(xué)習(xí)下如何創(chuàng)建路由,如何加載視圖,這節(jié)非常簡單,跟著做就行。 上一節(jié)我們通過laravel new 項...

    iliyaku 評論0 收藏0
  • Laravel入門及實踐,快速上手ThinkSNS+二次開發(fā)

    摘要:在中,提示符可能是。框架使用來執(zhí)行安裝及管理依賴。為了能訪問網(wǎng)頁,要啟動程序服務(wù)器。在大多數(shù)類系統(tǒng)中,包括,命令行提示符是符號。這兩個操作分別對應(yīng)于的和,即創(chuàng)建和讀取。首個表單要在模板中編寫表單,可以使用表單構(gòu)造器。 【摘要】自從ThinkSNS+不使用ThinkPHP框架而使用Laravel框架之后,很多人都說技術(shù)門檻抬高了,其實你與TS+的距離僅僅只是學(xué)習(xí)一個新框架而已,所以,我們...

    glumes 評論0 收藏0
  • Laravel 5系列教程四:數(shù)據(jù)庫和Eloquent

    摘要:原文來自免費(fèi)視頻教程地址上一篇寫了一些的基本用法和給視圖傳遞變量的幾種方式,這一節(jié)我們來說說跟數(shù)據(jù)庫打交道的數(shù)據(jù)庫配置和強(qiáng)大的。 原文來自: https://jellybool.com/post/programming-with-laravel-5-database-and-eloquent-model 免費(fèi)視頻教程地址 https://laravist.com/series/lara...

    XFLY 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<