sjones6/siege-li

可定制Laravel模板

v0.1 2016-11-19 17:34 UTC

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