thinkphp5 內建介面開發與使用

來源:互聯網
上載者:User

標籤:版本   注意   command   資料   test   項目目錄   簡單   配置環境變數   extend   

最近的一個項目在用tp5,對於tp3都幾乎沒用過的我來說~~~

tp5最好的一點就是對介面的單獨封裝,只要嚴格按照要求一步一步來就可以成功了

  1. 開啟命令列:
    1. 配置環境變數
    2. 安裝tp5項目
    3. cmd進入項目目錄,運行php think,出現如下內容,則表示命令列開啟成功

      具體指令參考手冊 https://www.kancloud.cn/manual/thinkphp5/122951
  2. 建立自訂命令列(介面)
      1. 配置command.php檔案,目錄在application/command.php
        <?php

        return [
        ‘app\api\controller\shell\控制器名稱‘,
        ];
      2. 建立命令類檔案(介面檔案),地址application/controller/shell/檔案名稱(駝峰命名)
      3. 編輯檔案
        <?phpnamespace app\home\command;use think\console\Command;use think\console\Input;use think\console\Output;class Test extends Command{    protected function configure()    {       
              //設定參數        $this->addArgument(‘email‘, Argument::REQUIRED); //必傳參數        $this->addArgument(‘mobile‘, Argument::OPTIONAL);//選擇性參數        //選項定義        $this->addOption(‘message‘, ‘m‘, Option::VALUE_REQUIRED, ‘test‘); //選項值必填        $this->addOption(‘status‘, ‘s‘, Option::VALUE_OPTIONAL, ‘test‘); //選項值選填        $this->setName(‘test‘)->setDescription(‘Here is the remark ‘);
            }     

             protected function execute(Input $input, Output $output)     {  

                  //擷取參數值                $args = $input->getArguments();                $output->writeln(‘The args value is:‘);                print_r($args);
                      //擷取選項值                $options = $input->getOptions();                $output->writeln(‘The options value is:‘);                print_r($options);                $output->writeln(‘Now execute command...‘);                $output->writeln("End..");

                }

              }

      注意只有在配置中設定了參數,同時在execute中用封裝的方法$input->getArguments();擷取參數才能夠精確擷取到需要的參數,否則如果只是在execute中直接print($input)出現的是一個超級複雜的資料對象

       

  3.  測試-命令協助-命令列下運行  php think

     

  4. 運行test命令  php think test

    同時可以將參數跟在命令後面當做參數傳入  php think test 2017-06-05

    這樣就完成了一個簡單的介面

    但是在我剛剛進入命令列的時候,執行命令列中的tp5帶命令,報了一個奇怪的錯誤igbinary 版本錯誤,原因是我安裝的igbinary與php版本不匹配,重新安裝就好了,但是目前還不知道igbinary和命令列運行之間有什麼必然聯絡

 

thinkphp5 內建介面開發與使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.