laravel-hub-cli / laravel-hub
用于构建新 Laravel 应用程序的工具。
Requires
- php: ^7.3|^8.0
- symfony/process: ^5.2
- symfony/yaml: ^5.2
Requires (Dev)
- laravel-zero/framework: ^8.4
- mockery/mockery: ^1.4.2
- pestphp/pest: ^1.0
README
安装
composer global require laravel-hub-cli/laravel-hub
更新
composer global update laravel-hub-cli/laravel-hub
用法
您可以将 CLI 作为官方 Laravel 安装程序的近似替代品使用。例如
laravel-hub new project
但这个工具的真正威力在于当你创建一个 compose
文件时。该 compose
文件是您应用程序的基本配方。您应该在您希望创建应用程序的目录中创建一个 app.yaml
文件。
touch app.yaml
当您完成配方制作(请参阅下面的文档),您应该运行 compose
命令
laravel-hub compose {script=app.yaml}
如果您的 compose
文件名为 app.yaml
之外的其他名称,请将文件名作为第一个参数传递。
Compose 文件 API
- env
- git
- name
- touch
- mkdir
- artisan
- console
- version
- blueprint
- php-packages
- php-packages-dev
- npm-packages
- npm-packages-dev
env
env
API 允许您更新或插入(upsert)应用程序 .env
文件中的键。
以下是一个示例
env: APP_NAME: "Laravel" DB_DATABASE: "laravel" NEW_ENV_KEY: "value"
git
git
API 允许您指示您希望创建一个 Git 仓库并为每个步骤创建提交。可能的值是:true
或 false
以下是一个示例
git: true
name
- 必需:是
name
键是必需的,名称的缩写版本将用于生成应用程序安装的文件夹名称。
touch
touch
API 允许您在应用程序中创建文件。任何必需的目录也将被创建。
以下是一个示例
touch: - "app/Support/helpers.php"
mkdir
mkdir
API 允许您在应用程序中创建目录。任何必需的父目录也将被创建。
以下是一个示例
mkdir: - "resources/svg"
artisan
artisan
API 允许您在应用程序中运行 Laravel Artisan 命令。
以下是一个示例
artisan: - storage:link - make:model Post -mfc
console
console
API 允许您在应用程序中运行控制台命令。
以下是一个示例
console: - git init - code .
version
version
API 允许您声明您想要安装的 Laravel 版本。您可以指定任何有效的 composer 版本。
以下是一个示例
version: "7.x"
blueprint
blueprint
API 是一个特殊键。它将强大的 Laravel Blueprint 包作为开发依赖项安装。然后,它将键的值写入项目中的 draft.yaml
文件。这使得您可以使用 Laravel Blueprint 包创建任何内容。
以下是一个示例
blueprint: models: Post: title: string:400 content: longtext published_at: nullable timestamp author_id: id:user controllers: Post: index: query: all render: post.index with:posts store: validate: title, content, author_id save: post send: ReviewPost to:post.author.email with:post dispatch: SyncMedia with:post fire: NewPost with:post flash: post.title redirect: post.index
php-packages
php-packages
API 允许您将 composer 包要求到您的应用程序中。
以下是一个示例
php-packages: - laravel/telescope - laravel/socialite
php-packages-dev
php-packages-dev
API 允许您将开发只要求的 composer 包要求到您的应用程序中。
以下是一个示例
php-packages-dev: - brianium/paratest
npm-packages
npm-packages
API 允许您将 NPM 包安装到您的应用程序中。
以下是一个示例
npm-packages: - "tailwindcss/@latest"
npm-packages-dev
npm-packages-dev
API 允许您将 NPM 开发包安装到您的应用程序中。
以下是一个示例
npm-packages-dev: - "alpinejs"
食谱集
基本
此基本配方将简单地创建一个新的 Laravel 应用程序并设置一些 env
值
name: "Basic Laravel Recipe" env: APP_NAME: "Basic Recipe" DB_DATABASE: "basic"
高级
此高级配方将创建一个新的 Laravel 应用程序,然后克隆一个现有仓库并将一些文件复制到您的新应用程序中。然后使用 VS Code 启动应用程序。
name: "Advanced Laravel Recipe" env: APP_NAME: "Advanced Recipe" DB_DATABASE: "advanced" console: - git clone "https://github.com/WyattCast44/laravel-starter-app-tall" "source" - cp -R "source/resources/views" "resources" - cp "source/routes/auth.php" "routes/auth.php" - rm -rf "source" - code .