laravel関係の細かいメモ。お勉強しながら更新なので随時更新する予定。
よく使うartisanコマンド
命名規則は個人的な趣味です。
- php artisan migrate
- DBマイグレーションの実行。実行はサーバ上(Homestead上)で
- php artisan make:migration create_[table_name]_table --create=[table_name]
- テーブル作成マイグレーション。[table_name]は複数形を使用する(users,tasks等)。スネークケースを使う
- php artisan make:seeder [TableName]Seeder
-
シーダー作成[TableName]はデータをセットするテーブル名をキャメルケースにしたもの(Users,TableNames等)。
小規模なマスターデータとかは、既存のDatabaseSeederを使うといいと思う。 -
php artisan make:model [ModelName]
- モデルを生成する。モデル名には単数形を使う(User,Task等)
- php artisan make:controller HogeHogeController –plain
- コントローラを作成。コントローラー名は主に取り扱う対象(単数)に”Controller”をつける(UserController,TaskController等)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<h3>
viewは?
</h3>
<p>
modelとcontrollerはスキャフォールディングできるんだから、viewも…というわけにはいかず、viewは地道にファイルを追加しないといかんみたい。<br /> パスは resources/views/<em>[models]</em>/index.blade.php みたいな感じ。
</p>
<h3>
ヘルパークラスを作る
</h3>
<p>
bladeで使えるヘルパ関数。グローバルでなくクラスのスタティックメソッドで実装。<br /> HTML関係のヘルパはクライアントサイドのフレームワークと競合しないように、なるべく細かい出力を作るだけに専念した方がいいような気がする。
</p>
<h4>
クラス本体
</h4>
<p>
ファイルの追加はapp/Helpers/に<br /> サンプルとしてapp/Helpers/HtmlHelper.php
</p>
```php |
<?php namespace App\Helpers; use App\SelectOption;
class HtmlHelper { public static function Selected(SelectOption $option){ if( !old($option->name) ){ return ($option->selected ? “selected”:“”); } else { return (old($option->name)==$option->value ? “selected”:“”); } } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<p>
処理内容はともかくとして、クラスとスタティックメソッドを作ります。
</p>
<h4>
composer.json
</h4>
```jscript
"autoload": {
"files": [
"app/Helpers/HtmlHelper.php" //<-追加
],
}, |
1 2 3 4 5 |
<p>
編集したら反映させる
</p>
```bash |
$ composer dump-autoload
1 2 3 4 5 6 7 8 9 |
<h4>
config/app.php
</h4>
```php
'aliases' => [
'HtmlHelper'=> App\Helpers\HtmlHelper::class, //<-追加
], |
1 2 3 4 5 |
<h4>
bladeで使う
</h4>
```xml |