nerbiz/embark

此包已被废弃且不再维护。未建议替代包。

为 Laravel 项目提供快速启动。

0.16.3 2019-09-21 09:07 UTC

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 许可证。