ののいち の 1.2..3...

IT関連の技術情報をメインに、学んだことや感じたことを書いています。

フォーム自動生成モジュール「InfyOm Laravel Generator」を導入した

Laravelをベースとした、フォーム自動生成モジュール「InfyOm Laravel Generator」を試してみました。

このモジュールは、コマンドだけでフォーム作成作業に必要な フォームプログラムファイル生成、DB生成、テストケース作成を行ってくれるものです。

今回は、セットアップまでをまとめました。

*composer やLaravelを理解している方向けに書いていますので、わからない方は質問してください。

Laravel インストール

Laravelの5.4系をインストールします。

composer create-project --prefer-dist laravel/laravel data "5.4.*"

InfyOm Laravel Generator セットアップ

必要なパッケージをインストールします。

*ターミナルまたはコマンドプロンプトを起動して、実行してください。 *$ で始まる部分は、入力コマンドです。

$ cd data
$ vi composer.json

"barryvdh/laravel-debugbar": "^2.3",
"barryvdh/laravel-elfinder": "^0.3.10",
"barryvdh/laravel-ide-helper": "^2.3",
"doctrine/dbal": "2.3",
"infyomlabs/adminlte-templates": "5.4.x-dev",
"infyomlabs/laravel-generator": "5.4.x-dev",
"laravel/framework": "5.4.*",
"laravel/tinker": "~1.0",
"laravelcollective/html": "^5.4.0",
"yajra/laravel-datatables-buttons": "^1.0",
"yajra/laravel-datatables-oracle": "^7.5"

$ composer update

config/app.php のproviders、aliases 変数に以下の値を追記します。

$ vi config/app.php

'providers' => [
.....

\InfyOm\Generator\InfyOmGeneratorServiceProvider::class,
\InfyOm\AdminLTETemplates\AdminLTETemplatesServiceProvider::class,
Yajra\Datatables\DatatablesServiceProvider::class,
Yajra\Datatables\ButtonsServiceProvider::class,
Barryvdh\Debugbar\ServiceProvider::class,
Barryvdh\Elfinder\ElfinderServiceProvider::class,
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
'aliases' => [
.....

'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
'Flash' => Laracasts\Flash\Flash::class,

app/Providers/RouteServiceProvider.php の mapApiRoutes ファンクションを変更します。

$ vi app/Providers/RouteServiceProvider.php

protected function mapApiRoutes()
{
// Route::prefix('api')
// ->middleware('api')
// ->namespace($this->namespace)
// ->group(base_path('routes/api.php'));
Route::prefix('api')
->middleware('api')
->as('api.')
->namespace($this->namespace."\\API")
->group(base_path('routes/api.php'));
}

artisan コマンドを実行します。

$ php artisan vendor:publish

$ php artisan infyom:publish

$ php artisan infyom.publish:layout 
Existing routes web.php file detected. Should we add standard auth routes? (y|N) : (yes/no) [no]:
> yes

$ php artisan infyom.publish:templates

$ php artisan vendor:publish --tag=datatables-buttons

データベース設定

SQLite データベースの設定をします。

$ touch database/database.sqlite

$ vi .env
DB_CONNECTION=sqlite
#DB_HOST=127.0.0.1
#DB_PORT=3306
#DB_USERNAME=homestead
#DB_PASSWORD=secret

$ php artisan migrate

ログイン認証機能有効化

Laravelに搭載されている、ログイン認証機能を有効にします。

$ php artisan make:auth
$ php artisan migrate

表示確認

ローカルサーバを起動します。

php artisan serve

ブラウザからアクセス確認を行います。 *正常にホーム画面が表示されたら、完了です。

http://127.0.0.1:8080

 

参考リンク

http://labs.infyom.com/laravelgenerator/

http://labs.infyom.com/laravelgenerator/docs/5.4/introduction