Laravel Artisan命令可通过signature定义参数与选项,在handle方法中用argument()和option()获取输入值,支持必填/可选参数、带值/布尔选项及默认值设置。

如果您在使用 Laravel 开发命令行工具时需要获取用户输入的参数,可以通过 Artisan 命令内置的功能来实现。Laravel 提供了便捷的方式定义和接收 CLI 输入参数,包括选项(options)和参数(arguments)。
本文运行环境:MacBook Pro,macOS Sonoma
在 Laravel 中创建自定义 Artisan 命令后,需在 signature 属性中声明所需的参数和选项,以便框架能正确解析用户输入。
1、使用 php artisan make:command YourCommandName 创建新命令类。
2、在生成的命令类中,找到 $signature 属性,通过语法定义参数和选项。
3、参数使用占位符形式如 {parameter} 表示必填,{parameter?} 表示可选。
4、选项以双破折线开头,如 {--option} 表示布尔选项,{--option=} 表示接收值的选项。
当命令被执行时,可通过 argument() 方法获取指定参数的值,适用于位置参数的提取。
1、在命令类的 handle() 方法中调用 $this->argument('parameter') 获取对应参数内容。
2、若需获取所有参数,可调用 $this->arguments() 返回包含所有参数的数组。
3、确保参数名与 signature 中定义的一致,否则返回 null 或默认值。
对于通过双破折线传递的选项(如 --name=value),应使用 option() 方法进行读取。
1、在 handle() 方法中使用 $this->option('option') 获取指定选项的值。
2、若要获取全部选项,可调用 $this->options(),返回一个关联数组。
3、对于不接收值的布尔选项(如 --force),该方法将返回 true 或 false。
为提升命令的灵活性,可在定义 signature 时为参数或选项指定默认值,避免因缺失输入导致错误。
1、在参数后添加 =default 形式设置默认值,例如 {name=default}。
2、对于选项,使用 {--option=default} 语法设定缺省值。
3、当用户未提供相应输入时,argument() 和 option() 将返回预设的默认值。
以上就是laravel怎么在CLI模式下获取输入参数_laravel CLI模式输入参数获取方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号