sjones6 / siege-li
可定制Laravel模板
Requires
- php: >=5.5.9
- laravel/framework: ^5.0
- nesbot/carbon: ^1.21
This package is not auto-updated.
Last update: 2024-09-28 20:20:04 UTC
README
此包允许通过一条命令编辑模板、模板组(用于切换模板),并生成资源模板(即路由、控制器、模型、视图、模型工厂、迁移、种子和测试)。
SiegeLi 的核心是资源和 MVC 命令。它为资源交互(CRUD)和将资源持久化到数据库生成所有样板代码。
需要Laravel 5。
安装
将包添加到您的项目中。
将服务提供者添加到 config/app.php
中的 providers 数组
// Package Providers SiegeLi\SiegeLiServiceProvider::class, //
发布包: artisan vendor:publish
。这将在您的 resources
目录中添加一个 stubs
目录,并在您的 config
目录中添加一个名为 stubs.php
的配置文件。
即使不发布包,SiegeLi 也能正常工作。但是,您将无法自定义模板或为您的项目配置包。但是,如果您需要在标准Laravel安装上快速启动,可以跳过此步骤。
配置
如果您使用的是标准Laravel 5.3文件结构,SiegeLi 应该可以直接使用。但是,如果任何内容非标准或您使用的是较旧版本的Laravel,请编辑 config/stubs.php
以反映这一点。具体来说,您可能需要指定控制器或路由文件的路径。
使用
命令
对于资源名称,最好使用 snake_case 或 spinal-case。名称将被转换为接受的标准(例如,模型名称在 StudlyCase)。
artisan siege:m {resource-name} -m|--migration -s|--seeder -f|--factory
:创建模型artisan siege:v {resource-name} {view}
:为资源创建视图(例如,index,create等)artisan siege:c {resource-name} -r|--route
:为资源创建控制器artisan siege:t {resource-name}
:为资源创建测试artisan siege:mvc {resource-name}
:创建资源 MVC 项目(模型、视图、控制器、路由、模型因数、迁移、数据库种子、测试)
命令选项
对于上述每个命令,您还可以传递以下可选参数
-o|--options=
:在生成模板时包括的模板组。请参阅下文有关模板块。-a|--all
:包括所有可选资源(例如,模型也将包括迁移、种子和因数)和可选模板组-g|group
:使用特定的模板组(请参阅下文有关组)
模板块
发布包后,您将在 resources
目录中有一个 stubs
文件夹。您可以随意编辑这些文件。
模板语法
模板使用简单的语法来填充变量和包括/排除模板块。
模板变量
变量用双大括号包裹,没有空格,也没有美元符号。
use {{namespace}}\User;
以下模板变量可用于任何模板
- 'resource':原始资源名称(您在执行命令时传递的名称)
- 'namespace':应用程序命名空间
- 'model':模型名称
- 'model_camel':驼峰式模型名称
- 'primary_key':主键列名称
- 'class_name':类名称,例如创建控制器时 "ResourceController"。
- 'slug':资源短名
- 'table':资源表名称
模板块
模板块位于 <<<block-name
和 >>>
之间。可以使用 -o|--option
参数条件性地包括或排除块。例如,运行具有 -o siege
的模板命令将包括所有 siege
块并排除所有 !siege
块
<<<siege protected function thisWillBeIncluded() { // } >>> <<<!siege protected function thisWillBeExcluded() { // } >>>
您还可以传递 -a|--all
选项以包含所有可选的模板块。
占位符组
组提供了一种方便的方式,可以根据您的项目需求或个人喜好在占位符模板之间切换。
使用命令 artisan siege:group {group_name}
生成占位符组。例如,artisan siege:group test
将创建一个包含占位符的目录 resources/stubs/test
。如果您想将另一个组作为新占位符组的基础,请添加 -f|--from
选项。
然后您需要将占位符组添加到 config/stubs.php
文件中。
'siege' => 'base/', 'test-group' => 'test/'
现在您可以使用名称 test-group
访问 test
目录中的所有占位符。
您可以在 config/stubs.php
中设置默认模板组或通过传递带有 -g|--group
选项的组名来指定组,如下所示
php artisan siege:mvc Test -g test-group