❝最近在使用laravel實作rabbitmq方面的文章,實現到路由模式的時候遇到點問題,針對命令列傳參的問題。
❞
在這份程式碼裡邊可以看到一個沒有定義的變數$argv
,說實話框架用多了,都不知道這玩意是什麼了。
咔咔使用的是laravle框架,沒有宣告的變數是會直接報錯的。
但是在路由模式下確實又需要這個實例,總不能執行一次去修改一下routing_key
php argv 後,明晃晃的解釋出現在我的面前,這哥們是用來給腳本傳遞參數的啊!
二話不說先整一個php文件,然後測試一下。
在web目錄建立一個index.php文件,然後印出$argv
執行index.php,執行指令php index kaka
。
這個就有點意思了,印出來的資料正是上文資料所說的陣列形式。
第一個值是執行的檔名,第二個參數就是攜帶給腳本的參數。 這個時候在回傳來看rabbitmq的那份程式碼。
對索引為1的資料做了容錯,這個值也就是需要的routing_key
。 在來看後文給予的執行指令,就不難明白它為什麼這樣執行了。
生活還得繼續,程式碼還得擼不是嗎?用了框架就得適應框架的用法。
先建立一個指令php artisan make:command TestCommand
這時你就可以看到TestController檔案。
signature是指令名先執行一下吧! php artisan test:command
,這個123是在下邊的handle方法裡邊在laravle中執行帶參數的指令執行指令php artisan test:command kaka
看看會出現什麼。
對嘍!就是指令後邊的參數。
laralve攜帶參數的用法還用好幾種,喀喀這裡就不示範了,很是簡單哄!
以上是工作倆年才知道$argv,表示很low!的詳細內容。更多資訊請關注PHP中文網其他相關文章!