innodite/laravel5-scaffold

Laravel 5 API/Scaffold/CRUD 生成器

dev-master 2015-06-19 21:50 UTC

This package is not auto-updated.

Last update: 2024-10-02 08:33:25 UTC


README

Laravel 5 API/Scaffold/CRUD 生成器

使用这个库可以创建

  • 迁移文件
  • 模型
  • 仓库(可选)
  • 控制器
  • 视图(集成 dataTables 和响应式表格)
    • index.blade.php
    • show.blade.php
    • create.blade.php
    • edit.blade.php
    • fields.blade.php
  • 自定义路由.php

安装指南

  1. 将以下内容添加到 composer.json 文件中

     "require": {
         "innodite/laravel5-scaffold": "dev-master"
     }
    
  2. 在项目目录的命令行中执行 composer update

     composer update
    
  3. 将 ServiceProviders 添加到 config/app.php 文件中
    来自 illuminate/html & laracasts/flash

    无论如何,它们都在这里。

     'Illuminate\View\ViewServiceProvider',
     'Collective\Html\HtmlServiceProvider',
     'Laracasts\Flash\FlashServiceProvider',
     'Innodite\Generator\GeneratorServiceProvider'
    

    还必须将别名添加到 config/app.php

     'Form'  => 'Collective\Html\FormFacade',
     'HTML'  => 'Collective\Html\HtmlFacade',
     'Flash' => 'Laracasts\Flash\Flash'
    
  4. 加载 generator.php 文件以便识别库的命令

     php artisan vendor:publish --provider="Innodite\Generator\GeneratorServiceProvider" --tag=config
    
  5. 以下是一些可以使用库的命令

     php artisan innodite.generator:api ModelName
     php artisan innodite.generator:scaffold ModelName
     php artisan innodite.generator:scaffold_api ModelName
    

    例如:

     php artisan innodite.generator:api Project
     php artisan innodite.generator:api Post
    
     php artisan innodite.generator:scaffold Project
     php artisan innodite.generator:scaffold Post
    
     php artisan innodite.generator:scaffold_api Project
     php artisan innodite.generator:scaffold_api Post
    

以下是一些输入类型和相应验证的声明示例

    fieldName:fieldType,options:fieldOptions

例如:

    email:string:unique
    email:string:default('example@innodite.com')
    title:string,100
    price:flat,8,4

使用 CRUD 创建以下视图文件

在路径 /resources/views/model_plural_name/

    index.blade.php - Main Index file for listing records
    create.blade.php - To insert a new record
    edit.blade.php - To edit a record
    fields.blade.php - Common file of all model fields, which will be used create and edit record
    show.blade.php - To display a record

可以使用以下命令从外部 JSON 文件加载 CRUD

     php artisan innodite.generator:scaffold_api Example --fieldsFile="/innodite/laravel5-scaffold/samples/fields.json"
     php artisan innodite.generator:scaffold Example --fieldsFile="vendor/innodite/laravel5-scaffold/samples/fields.json"
     php artisan innodite.generator:scaffold_api Example --fieldsFile="fields.json"

对于国际化,应在其 /resources/lang/es 或 /resources/lang/en 文件夹中创建 application.php 文件,具体取决于是否为多语言

翻译示例

return [

"model" => [
	/* Ejemplo Traducción de Atributos de Algún Modelo */
	"modelname" => [
		"attributes" => [
			"ex_name"        => "Ej_Nombre",
			"ex_description" => "Ej_Descripción"
		]
	],

];

使用示例

{!! trans('application.model.modelname.ex_name') !!}

在那里将放置翻译示例

如果要使用 dataTables 而不是我们的基础应用程序,则必须下载以下文件并将它们复制到

文件夹 /public/js https://code.jqueryjs.cn/jquery-1.11.3.js

建议在 /resources/views/app.blade.php 文件中替换以下内容

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script src="{{ asset('/js/jquery-1.11.3.min.js') }}"></script>

文件夹 /public/js/datatables/
http://cdn.datatables.net/plug-ins/1.10.7/i18n/Spanish.json
https://cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js
https://cdn.datatables.net/plug-ins/1.10.7/integration/bootstrap/3/dataTables.bootstrap.js

文件夹 /public/css/datatables/

http://cdn.datatables.net/plug-ins/1.10.7/integration/bootstrap/3/dataTables.bootstrap.css