บอกเลย CRUD (Create, read, update and delete generator) ใน laravel 5 หายากมากจน GII ของ YII ดูเทพขึ้นมาทันที ตัวที่พอจะเทียบได้ก็มี Laravel Generator
ติดตั้งโดย
- เพิ่ม package InfyOmLabs/laravel-generator ในไฟล์ composer.json
"require": { ... "infyomlabs/adminlte-templates": "dev-master", "infyomlabs/generator-builder": "dev-master", "infyomlabs/laravel-generator": "dev-master", "infyomlabs/swagger-generator": "dev-master", "jlapp/swaggervel": "dev-master" "laravelcollective/html": "5.2.*" ... },
- run command
composer update
- เปิดไฟล์ \config\app.php เพิ่ม
... 'providers' => [ ... \InfyOm\Generator\InfyOmGeneratorServiceProvider::class, \InfyOm\GeneratorBuilder\GeneratorBuilderServiceProvider::class, Collective\Html\HtmlServiceProvider::class, Laracasts\Flash\FlashServiceProvider::class, Prettus\Repository\Providers\RepositoryServiceProvider::class, ... ], 'aliases' => [ 'Flash' => Laracasts\Flash\Flash::class, 'Form' => Collective\Html\FormFacade::class, 'Html' => Collective\Html\HtmlFacade::class, ],
- Publish ไฟล์ไปโฟลเดอร์ public โดย run command
php artisan vendor:publish php artisan infyom:publish
- Run routes Publish Command
php artisan infyom.publish:generator-builder
จะเพิ่ม rute
Route::get('generator_builder', '\InfyOm\GeneratorBuilder\Controllers\GeneratorBuilderController@builder'); Route::get('field_template', '\InfyOm\GeneratorBuilder\Controllers\GeneratorBuilderController@fieldTemplate'); Route::post('generator_builder/generate', '\InfyOm\GeneratorBuilder\Controllers\GeneratorBuilderController@generate');
- Publish view โดย run command
php artisan infyom.publish:generator-builder --views
- เปิดไฟล์ \config\infyom\generator_builder.php แก้เป็น
<?php return [ 'views' => [ 'builder' => 'infyom.generator-builder.builder', 'field-template' => 'infyom.generator-builder.field-template' ] ];
- เปิดไฟล์ \config\infyom\laravel_generator.php แก้ ‘templates’ => ‘core-templates’, เป็น ‘templates’ => ‘adminlte-templates’,
ทดลองใช้
- ทดลองเรียกดู http://localhost/…/generator_builder
- แต่กรอกอะไรก็เจอ error Fail!result ลองจับ traffic ดูก็เห็นว่ามี error MethodNotAllowedHttpException in RouteCollection.php line 218: เปิดไฟล์ \resources\views\infyom\generator-builde\builder.blade.php บรรทัด 321 แก้ type: “POST” เป็น method: “POST”,