摘要:本文目的是多的組件進行簡單的使用。方法中設置了命令的名稱,即命令中的最后一個單詞方法中定義了該命令的執(zhí)行過程,即輸出再看看入口文件這里的方法將我們定義的添加到了命令行中。
Symfony的Console組件的簡單使用。
本文目的是多Symfony的Console組件進行簡單的使用。
達到這樣的效果:
輸入
php console test
輸出
hello console.準備工作
我們這里使用composer來進行Console組件的安裝 composer安裝教程
進入項目路徑:
cd ~/web/project/
安裝Console組件:
composer require symfony/console @stable
創(chuàng)建自己的代碼目錄:
mkdir -p src/Mycmd # 創(chuàng)建自己的代碼目錄
注冊命名空間:
編輯 composer.json 文件如下,然后在命令行輸入composer dump-autoload :
{ "require": { "symfony/console": "@stable" }, "autoload": { "psr-4":{ "Mycmd": "src/Mycmd" } } }編寫命令文件
創(chuàng)建要執(zhí)行的命令文件:
在 src/Mycmd 路徑下創(chuàng)建 TestCmd.php 文件,并寫入:
msg = $msg; parent::__construct(); } protected function configure() { $this->setName("test"); } protected function execute(InputInterface $input, OutputInterface $output) { $output->writeln("".$this->msg." "); } }
在項目根目錄下,創(chuàng)建Console組件的入口文件 console 并寫入:
#!/usr/bin/env php add(new TestCmd("hello console")); $application->run();使用Console組件
在命令行中輸入:
php console test
這時會看見
hello console代碼分析 首先說說我們自己的命令文件: TestCmd.php
msg = $msg; parent::__construct(); } protected function configure() { $this->setName("test"); } protected function execute(InputInterface $input, OutputInterface $output) { $output->writeln("".$this->msg." "); } }
代碼中包含一個類 TestCmd 并繼承了 Command 基類。
configure 方法中設置了命令的名稱 test,即 php console test 命令中的最后一個單詞
execute 方法中定義了該命令的執(zhí)行過程,即輸出 $this->msg
再看看入口文件 console#!/usr/bin/env php add(new TestCmd("hello console")); $application->run();
這里的 $application->add() 方法將我們定義的 TestCmd 添加到了命令行中。
Symfony官方文檔:
http://symfony.com/doc/current/components/console/introduction.html
日期 2016-5
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/21564.html
摘要:框架組件化改造框架從單體應用到組件化改造的架構升級之路經(jīng)過一年多的開發(fā)框架功能越來越完善也越來越復雜初創(chuàng)時期的單體應用已經(jīng)無法支撐項目的快速發(fā)展于是開發(fā)組在年前為版制定了組件化改造的重構方案內(nèi)容速覽組件化原理包管理基礎知識組件化方案來 date: 2018-3-21 13:22:16title: Swoft| Swoft 框架組件化改造description: Swoft 框架從單體應...
摘要:首先你應該是在用以上的版本,如果版本在這之下,是時候該升級了。按照其官網(wǎng)的說法,這個組織的目的并不是告訴你你應該怎么做,只是一些主流的框架之間相互協(xié)商和約定。和沒有出現(xiàn)在以上的列表中,是因為還沒有投票通過。不要被這些話所困擾。 首先你應該是在用 PHP 5.3 以上的版本,如果 PHP 版本在這之下,是時候該升級了。我建議如果有條件,最好使用最新的版本。 你應該看過 PHP The R...
摘要:測試運行多次并取平均值。文章數(shù)量測試的基準測試基準測試結果基準測試結果基準測試結果基準測試結果基準測試結果基準測試結果不支持再次成為冠軍請注意的運行環(huán)境需要或以上。同時,再次不能正常工作并拋出錯誤。 showImg(https://segmentfault.com/img/remote/1460000013690286); 我們每年都會嘗試深入了解不同版本的 PHP 和 HHVM 在各...
摘要:首發(fā)于我的博客前言從開始,就提供了一個內(nèi)置的服務器。在中的安裝一節(jié)中介紹了一個命令可以使用內(nèi)置服務器實現(xiàn)外部訪問的命令。 首發(fā)于:我的博客 前言 PHP從5.4開始,就提供了一個內(nèi)置的web服務器。 這個主要是用來做本地的開發(fā)用的。不能用于線上環(huán)境。現(xiàn)在我就介紹一下這個工具如何使用。 基礎應用 首先我們假定項目目錄是/home/baoguoxiao/www/php/demo,外界可訪...
摘要:一個事件系統(tǒng)就這么簡單。說了這么多,一句話概括事件系統(tǒng)就像是框架層的全局數(shù)據(jù)庫,具有存儲注冊和觸發(fā)事件功能,解耦代碼,實現(xiàn)跨組件通信。。 我們知道,laravel/symfony 框架是由一堆堆 components 組件粘合在一起的。其中會有一個 event component 組件,比較特殊,它像一個中介,是框架層全局 component,專門負責不同component間相互通信傳...
閱讀 2050·2021-11-15 11:39
閱讀 3233·2021-10-09 09:41
閱讀 1497·2019-08-30 14:20
閱讀 3267·2019-08-30 13:53
閱讀 3330·2019-08-29 16:32
閱讀 3384·2019-08-29 11:20
閱讀 3026·2019-08-26 13:53
閱讀 780·2019-08-26 12:18