laravel 5.1にmoduleプラグインを導入する

Page : ( 2 / 2 )


モジュールの作成

作成はarisanコマンド上で行い 「php artisan module:make モジュール名 」という形式になります。

今回はサンプルの為にtestをいうモジュールを作成します。

php artisan module:make test

コマンドを入力した後、以下のようなメッセージが表示されると、
モジュール作成が完了です。

Module [Test] has been created successfully.
Generating optimized class loader

モジュールが作成されるとappフォルダ内にModulesというフォルダが作成され、
直下に指定したモジュールが作成されます。

*作成されたフォルダ群 

* - フォルダ

- app
  ...
  - Modules
    - Test *作成されたモジュール
      - Console
      - Databases
      - Http
        - Controllers
        - Middleware
        - Requests
          .gitkeep
          routes.php
      - Provider
      - Resources
        - Lang
        - Views
          .gitkeep
        modules.json

 

動作確認

ここで作成したtestモジュールの動作確認をします。

ルートファイルを定義し、コントローラーとビューファイルを作成しました。

モジュールを作成した際に、
routes.phpのファイル内でルートグループがデフォルトで設定されています。

* routesファイル

// app/Modules/Test/Http/routes.php

Route::group(['prefix' => 'test'], function () {

    // test/hello
    Route::get('/hello', [
        'uses' => 'HelloController@get_hello'
    ]);

});

routesファイル内でコントローラーを定義する時は、
作成したモジュール内のnamespaceが自動的に割り当てられます。

*コントローラー

// app/Modules/Test/Http/Controllers/HelloController.php

namespace App\Modules\Test\Http\Controllers;

use App\Http\Controllers\Controller;

class HelloController extends Controller
{
    public function get_hello()
    {
        // module名::テンプレート
        // app/Modules/Test/Resources/Views/hello.blade.php を参照
        return view('test::hello');

    }
}

*テンプレート

{{-- app/Modules/Test/Resources/Views/hello.blade.php --}}
        
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <h1>Hello Test Module!!</h1>

</body>
</html>


ブラウザ上から URL/test/helloにアクセスし、” Hello Test Module!! ”と表示されていれば完了です。

コントローラーからモジュール内のviewを参照する時に注意するのが、
view('module名::テンプレート') という形式になることです。

module名が定義されていなければ、
デフォルトのapp/resourcesフォルダ内のビューが参照されます。

冒頭でも書いたとおり、他にも何種類かモジュールプラグインがリリースされているので、
モジュール化する必要性が出てきたら参考にしてください。

リンク: Laravelのモジュールプラグイン

この記事のカテゴリ
プログラミング

この記事に付けられているタグ



その他の運営サービス

最新の記事