awcodes / filament-installer
纤维管理面板应用程序安装器。
Requires
- php: ^8.0
- ext-intl: *
- ext-json: *
- ext-pdo: *
- laravel-zero/framework: ^9.1.3
- nunomaduro/termwind: ^1.13
- spatie/fork: ^1.1
- spatie/laravel-ray: ^1.30
Requires (Dev)
- laravel/pint: ^1.0
- mockery/mockery: ^1.4.4
- pestphp/pest: ^1.21.3
README
快速启动一个由纤维驱动的应用程序。
纤维安装器是一个命令行工具,它替代了Laravel安装器,并封装了在创建纤维应用程序时可能执行的最常见任务:在您的编辑器和浏览器中打开它,初始化git仓库,调整您的.env
和.env.example
文件,等等。
要求
- PHP 8.0+
- (可选,但有益) Laravel Valet
安装
composer global require awcodes/filament-installer
升级
composer global update awcodes/filament-installer
用法
确保~/.composer/vendor/bin
已添加到您的终端路径。
cd ~/<code-directory> filament new my-cool-filament-app
它具体做什么?
filament new $PROJECTNAME
- 初始化git仓库,添加所有文件,然后在以下更改后进行提交,提交文本为"Initial commit"。
- 将
.env
(和.env.example
)数据库凭据替换为默认macOS MySQL凭据:数据库名为$PROJECTNAME
,用户root
,密码为空。 - 将
.env
(和.env.example
)的APP_URL
替换为$PROJECTNAME.$YOURVALETTLD
- 生成应用密钥
- 设置深色模式(如果选择)
- 如果选择,则构建自定义主题资源
- 安装并设置Filament Breezy、Filament Shield或Filament Sentry(如果选择)
- 在您的首选编辑器中打开项目
- 在浏览器中打开
$PROJECTNAME.$YOURVALETTLD
注意:如果您的
$PROJECTNAME
中包含短划线(-
),它们将在数据库名称中替换为下划线(_
)。
还有一些基于您传递的参数(或在您的配置文件中定义)的附加行为,包括创建数据库、迁移、运行Valet Link和/或Secure,以及在创建新项目后运行您定义的自定义bash脚本。
自定义纤维安装器
虽然纤维安装器提供的默认操作很棒,但大多数用户可能需要自定义至少几个步骤。幸运的是,纤维安装器旨在可以自定义!
您有三种方法可以自定义纤维安装器的使用:命令行参数、配置文件和"after"文件。
大多数用户可能希望设置一次他们首选的配置选项,然后不再考虑它。这最好通过创建一个配置文件来解决。
但如果您发现自己需要根据项目逐个更改与纤维安装器的交互方式,您也可能希望使用命令行参数来在您使用纤维安装器时自定义它。
创建配置文件
您可以在~/.filament/config
创建配置文件,而不是每次创建新项目时都传递相同的参数。
以下命令在文件不存在时创建文件,并编辑它
filament edit-config
配置文件包含您可以自定义的配置参数,并且将在每次使用纤维安装器时读取。
创建"after"文件
您还可以在~/.filament/after
创建"after"文件,以便在创建新项目后运行额外的命令。
以下命令在文件不存在时创建文件,并编辑它
filament edit-after
"after"文件被视为bash脚本,因此您可以在此包含任何命令,例如安装额外的composer依赖项...
# Install additional composer dependencies as you would from the command line. echo "Installing Composer Dependencies" composer require awcodes/filament-quick-create spatie/laravel-ray
...或将额外的文件复制到您的新项目。
# To copy standard files to new filament project place them in ~/.filament/includes directory. echo "Copying Include Files" cp -R ~/.filament/includes/ $PROJECTPATH
您还可以访问配置文件中的变量,例如 $PROJECTPATH
和 $CODEEDITOR
。
使用命令行参数
传入的任何命令行参数将覆盖 Filament 安装程序的默认值和您的配置设置。请参阅可以传入的参数完整列表。
Filament 安装程序命令
help
或help-screen
显示帮助屏幕
-
edit-config
编辑您的配置文件(如果不存在则创建)filament edit-config
-
edit-after
编辑您的 "after" 文件(如果不存在则创建)filament edit-after
可配置参数
您可以在每次使用 Filament 安装程序时选择性地传入一个或多个这些参数。如果您发现自己在每次运行 Filament 安装程序时都希望配置这些设置,那么使用配置文件是完美的。
-
-e
或--editor
用于定义您的编辑器命令。在这里传入的内容将在创建项目后作为$EDITOR .
运行。# runs "subl ." in the project directory after creating the project filament new my-cool-filament-app --editor=subl
-
-p
或--path
用于指定应用程序的安装位置。filament new my-cool-filament-app --path=~/Sites
-
-m
或--message
用于设置第一次 Git 提交消息。filament new my-cool-filament-app --message="This filament runs fast!"
-
-f
或--force
用于强制安装,即使目录已存在# Creates a new Laravel application after deleting ~/Sites/my-cool-filament-app filament new my-cool-filament-app --force
-
-d
或--dev
用于选择develop
分支而不是master
,以获取测试版安装。filament new my-cool-filament-app --dev
-
-b
或--browser
用于定义您希望在哪个浏览器中打开项目。filament new my-cool-filament-app --browser="/Applications/Google Chrome Canary.app"
-
-l
或--link
用于创建指向项目目录的 Valet 链接。filament new my-cool-filament-app --link
-
-s
或--secure
用于使用 https 保护 Valet 网站。filament new my-cool-filament-app --secure
-
--create-db
用于创建一个与您的项目同名的新的 MySQL 数据库。这要求您的系统上可用的mysql
命令。filament new my-cool-filament-app --create-db
-
--migrate-db
用于迁移数据库。filament new my-cool-filament-app --migrate-db
-
--dbuser
用于指定数据库用户名。filament new my-cool-filament-app --dbuser=USER
-
--dbpassword
用于指定数据库密码。filament new my-cool-filament-app --dbpassword=SECRET
-
--dbhost
用于指定数据库主机。filament new my-cool-filament-app --dbhost=127.0.0.1
-
--dark
用于默认使用 Filament 暗黑模式。filament new my-cool-filament-app --dark
-
--themed
用于生成自定义 Filament 主题所需的资产。filament new my-cool-filament-app --themed
-
--mix
用于将 Laravel 返回到 Laravel Mix 而不是 Vite。filament new my-cool-filament-app --mix
-
--breezy
用于安装和设置 Filament Breezy(身份验证插件)。filament new my-cool-filament-app --breezy
-
--shield
用于安装和设置 Filament Shield(授权插件)。filament new my-cool-filament-app --shield
-
--sentry
用于安装和设置 Filament Sentry(身份验证,与 Breezy 一起使用,授权,与 Shield 和 Filament 用户资源插件一起使用)。filament new my-cool-filament-app --sentry
-
--full
用于使用--create-db
、--migrate-db
、--link
和-secure
。filament new my-cool-filament-app --full
GitHub 仓库创建
重要:要创建新仓库,Filament 安装程序需要安装以下工具之一
如果没有安装这些工具,Filament 安装程序将为您提供不创建 GitHub 仓库而继续的选项。
-g
或--github
用于初始化一个新的私有 GitHub 仓库并将您的新项目推送到它。
# Repository created at https://github.com/<your_github_username>/my-cool-filament-app
filament new my-cool-filament-app --github
- 与
--github
一起使用--gh-public
使新的 GitHub 仓库公开。
filament new my-cool-filament-app --github --gh-public
- 与
--github
一起使用--gh-description
以初始化具有描述的新 GitHub 仓库。
filament Installer new my-cool-filament-app --github --gh-description='My cool Filament application'
- 与
--github
一起使用--gh-homepage
以初始化具有主页 URL 的新 GitHub 仓库。
filament Installer new my-cool-filament-app --github --gh-homepage=https://example.com
- 与
--github
一起使用--gh-org
以初始化具有指定组织的新的 GitHub 仓库。
# Repository created at https://github.com/acme/my-cool-filament-app
filament new my-cool-filament-app --github --gh-org=acme