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

資訊專欄INFORMATION COLUMN

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

DandJ / 1381人閱讀

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

Artisan 是 Laravel 自帶的命令行接口,它提供了許多實用的命令來幫助你構建 Laravel 應用

開始接觸 Laravel 這個框架的時候,才發現竟然可以使用命令行去執行一些操作,比如:創建文件,運行一個服務等.出于學習或者不能滿足需求的時候,我們就需要自己去寫一個 Artisan 命令行。

使用命令行輸出 Hello

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


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

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

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

你也可以調用 load 方法添加你的其他 Commands 文件夾

執行 php artisan

執行 php artisan hello


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

使用 Artisan 啟動一個服務

我們創建一個服務命令 php artisan make:command SwooleStart

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

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

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

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

執行 php artisan swoole:start

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

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

當然你也可以詢問是否啟動

使用 ask 方法

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

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

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

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

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

像 Artisan 那樣創建文件

我們先創建一個命令行文件 php artisan make:MakeController

修改繼承 Commanduse IlluminateConsoleGeneratorCommand;


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


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

getDefaultNamespace 修改你的文件存放目錄

getStub是必須實現的方法。

執行 php artisan controller:make HelloController 你將會在 Httpcontroller 下面看到你使用命令行創建的文件。

創建文件的 handle 在繼承的 GeneratorCommand 里面寫好了,如果你還需要執行一些其他操作,在當前 command 里面寫就好了。

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

Laravel 的 Artisan 命令行工具

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30653.html

相關文章

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

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

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

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

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

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

    XFLY 評論0 收藏0

發表評論

0條評論

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