nerbiz / embark
为 Laravel 项目提供快速启动。
Requires
- php: ^7.1.3
README
为 Laravel 项目提供快速启动。
我在一些新的 Laravel 项目中使用了一些东西,所以将这些东西放在包中可以加快这个过程。也许你会发现它也很有用。此包属于公共领域(使用Unlicense),所以你可以自由地用于任何目的。
安装
目标 Laravel 版本为 5.6,我尚未在其他版本中进行测试。
使用 Composer 包含此项目
composer require nerbiz/embark 0.*
服务提供程序将被自动发现,但为了完整性,服务提供程序文件为 Nerbiz\Embark\EmbarkServiceProvider
。没有(需要)外观,但谁知道未来会带来什么。
发布配置文件
php artisan vendor:publish --tag=embark-config
发布一些基本视图
php artisan vendor:publish --tag=embark-views
发布占位符,以防您想自定义它们
php artisan vendor:publish --tag=embark-stubs
为了方便,config/embark.php
中的 'stubs_path' 值已经指向占位符发布的目录。
命令
以下是此包中包含的 Artisan 命令
embark:empty-class
:创建仅包含构造函数的空类。其命名空间可以在config/embark.php
中配置。embark:migration
:与make:migration
相同,但使用自定义占位符,这些占位符使用此包的定制 Blueprint。embark:model
:与make:model
相同,但使用自定义命名空间和 embark:migration 而不是 make:migration。其命名空间可以在config/embark.php
中配置。embark:models-namespace
:创建 App\Models 命名空间,并将 User 移动到其中,并更新使用 User 模型的文件。命名空间名称可以在config/embark.php
中定义。embark:restructure
:调整目录结构,在 public 目录旁边创建一个 'laravel' 目录。embark:webpack
:旨在与embark:restructure
一起使用,覆盖 webpack.mix.js 文件,使用新的公共目录路径。
embark:restructure
的解释
我想这主要适用于共享主机或其他对环境控制有限的环境。
通常,公共目录被称为 'public_html',而不是 Laravel 中的 'public'。通常在公共目录旁边也有一些文件和目录,例如用于统计、FTP、SSH、邮箱等。我不喜欢将这些与 Laravel 文件混合,所以我想到的是将这些文件全部移到一个单独的 'laravel' 目录中。最终结果是在相邻的 'laravel' 和 'public_html' 目录。
此命令也已处理路径,因此您可以立即开始构建。
用法
自定义 Blueprint
在迁移文件中,替换这些 use 语句
use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint;
使用这些
use Nerbiz\Embark\Facades\Schema; use Nerbiz\Embark\Schema\Blueprint;
然后您可以使用 $table
如常,但是添加了 foreignKey()
方法。 foreignKey()
与 foreign()
方法工作相同,但它隐式地添加了 ->references(...)->on(...)->onUpdate(...)->onDelete(...)
。例如:category_id 隐式引用了 categories 表的 id。默认的 onUpdate 和 onDelete 值在 config/embark.php
中设置。
由于此方法返回一个 Fluent 实例,您可以使用它就像之前一样。因此,您可能覆盖一个隐式的外键表名,例如:$table->foreignKey('category_id')->on('product_categories');
我的意图是扩展自定义 Blueprint,添加更多有用的方法。
贡献
如果您有改进的想法,请发起一个 pull request。
许可证
本项目使用 Unlicense 许可证。