脚本参数
脚本执行可传复数的参数,同http请求可在方法中直接捕获,顺序跟参数顺序保持一致,可缺省
另外,可以用param
方法获取对应位置的参数
例如:终端执行php shell.php test/demo 1 2 aaa
,结果如下:
// php shell.php test/demo 1 2 aaa namespace app\shell;use biny\lib\Shell;class testShellextends Shell- {
test/demo => testShell/action_demo public function action_demo ($prm1 ,$prm2 ,$prm3 ,$prm4 ='default' )- {
//1, 2, aaa, default echo " ;$prm1 ,$prm2 ,$prm3 ,$prm4 "//1 echo $this ->param (0);//2 echo $this ->param (1);//aaa echo $this ->param (2);//default echo $this ->param (3,'default' );- }
- }
同时框架还提供了变量化的参数传递方式,用法与http模式保持一致
例如:终端执行php shell.php test/demo —name="test" —id=23 demo
,结果如下:
// php shell.php test/demo --name="test" --id=23 demo namespace app\shell;use biny\lib\Shell;class testShellextends Shell- {
test/demo => testShell/action_demo public function action_demo ($id ,$name ='demo' ,$prm ='default' )- {
//23, test, default echo " ";$id ,$name ,$prm //23 echo $this ->param ('id' );//demo echo $this ->param ('name' );//default echo $this ->param ('prm' ,'default' );// 不带参数话模式的变量 将顺序从第0位开始 // demo echo $this ->param (0);- }
- }
注意:
使用变量化传递后,方法中默认参数将不会捕获非变量化的参数,如上例的demo
需要通过param
方法获取