亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
首頁 > php框架 > Laravel > 正文

laravel Prompts如何創(chuàng)建交互式命令行工具_Laravel Prompts交互式命令行工具創(chuàng)建方法

下次還敢
發(fā)布: 2025-10-16 11:49:02
原創(chuàng)
975人瀏覽過
Laravel通過Symfony Console組件提供ask、secret、confirm和choice等方法實現(xiàn)命令行交互,可創(chuàng)建用戶輸入、密碼隱藏、選項選擇等功能;結合Laravel Zero及第三方庫如laravel-console-menu,還能構建更復雜的交互式CLI應用,適用于高級菜單與獨立工具開發(fā)。

laravel prompts如何創(chuàng)建交互式命令行工具_laravel prompts交互式命令行工具創(chuàng)建方法

在 Laravel 生態(tài)中,雖然沒有原生的 Laravel Prompts 組件,但你可以使用社區(qū)廣泛采用的 spatie/laravel-artisan-prompt 或基于 symfony/console 的交互功能來創(chuàng)建交互式命令行工具。不過最近,Laravel Zero 和一些前端提示庫(如 bobthecow/psysh 風格)也推動了更現(xiàn)代的交互式 CLI 開發(fā)方式。下面介紹如何在 Laravel 中創(chuàng)建交互式命令行工具。

使用 Artisan 命令實現(xiàn)基礎交互

Laravel 自帶的 Artisan 命令系統(tǒng)基于 Symfony Console 組件,支持多種用戶交互方式:

  • ask():請求用戶輸入文本
  • secret():隱藏輸入(如密碼)
  • confirm():確認操作(是/否)
  • choice():從選項中選擇一項

示例:創(chuàng)建一個可交互的用戶創(chuàng)建命令

php artisan make:command CreateUserCommand
登錄后復制

編輯生成的命令文件:

namespace App\Console\Commands;

use Illuminate\Console\Command;
use App\Models\User;

class CreateUserCommand extends Command
{
    protected $signature = 'user:create';
    protected $description = '創(chuàng)建新用戶';

    public function handle()
    {
        $name = $this->ask('請輸入用戶名');
        $email = $this->ask('請輸入郵箱');
        $password = $this->secret('請輸入密碼');

        $confirmed = $this->confirm('確定要創(chuàng)建這個用戶嗎?', true);

        if (! $confirmed) {
            $this->info('操作已取消');
            return;
        }

        User::create([
            'name' => $name,
            'email' => $email,
            'password' => bcrypt($password),
        ]);

        $this->info('用戶創(chuàng)建成功!');
    }
}
登錄后復制

使用 choice 實現(xiàn)菜單式交互

如果你希望用戶提供多個選項中的一個,可以使用 choice() 方法:

$role = $this->choice(
    '請選擇用戶角色',
    ['admin', 'editor', 'viewer'],
    'viewer'
);
登錄后復制

這會顯示一個選擇列表,用戶可通過鍵盤上下鍵選擇,默認值為 viewer。

Swapface人臉交換
Swapface人臉交換

一款創(chuàng)建逼真人臉交換的AI換臉工具

Swapface人臉交換45
查看詳情 Swapface人臉交換

高級交互:集成第三方提示庫

如果你想獲得更現(xiàn)代的交互體驗(比如自動補全、多選、滑塊等),可以考慮使用 PHP 的 Webuni\Symfony\Console\Prompts 或結合 dialog、inquirer.php 類似庫。

目前有一個流行的趨勢是使用 Laravel Zero 搭建獨立的 CLI 應用,它集成了 nunomaduro/laravel-console-menu 等包:

composer require laravel-zero/framework
php application app:install nunomaduro/laravel-console-menu
登錄后復制

然后可在命令中使用圖形化菜單:

use LaravelZero\Framework\Components\ConsoleMenu\Menu;

$menu = $this->menu('選擇操作', [
    '創(chuàng)建用戶',
    '刪除用戶',
    '列出用戶'
]);

$option = $menu->open();

match($option) {
    0 => $this->createUser(),
    1 => $this->deleteUser(),
    2 => $this->listUsers()
};
登錄后復制

注冊命令并運行

確保你的命令已注冊到 app/Console/Kernel.php$commands 數(shù)組中:

protected $commands = [
    Commands\CreateUserCommand::class,
];
登錄后復制

運行命令:

php artisan user:create
登錄后復制

基本上就這些。Laravel 自身提供的交互方法已經(jīng)足夠應對大多數(shù) CLI 場景。如果需要更復雜的界面,建議使用 Laravel Zero 構建專用命令行應用。交互設計的關鍵是清晰提示和良好反饋,避免讓用戶迷失在流程中。

以上就是laravel Prompts如何創(chuàng)建交互式命令行工具_Laravel Prompts交互式命令行工具創(chuàng)建方法的詳細內容,更多請關注php中文網(wǎng)其它相關文章!

最佳 Windows 性能的頂級免費優(yōu)化軟件
最佳 Windows 性能的頂級免費優(yōu)化軟件

每個人都需要一臺速度更快、更穩(wěn)定的 PC。隨著時間的推移,垃圾文件、舊注冊表數(shù)據(jù)和不必要的后臺進程會占用資源并降低性能。幸運的是,許多工具可以讓 Windows 保持平穩(wěn)運行。

下載
來源:php中文網(wǎng)
本文內容由網(wǎng)友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內容,請聯(lián)系admin@php.cn
最新問題
開源免費商場系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關于我們 免責申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓,幫助PHP學習者快速成長!
關注服務號 技術交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學習
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號