アプリ作成
laravel~7
$ composer create-project --prefer-dist laravel/laravel 〇〇 "6.*"
laravel-8~
curl -s https://laravel.build/example-app | bash
アプリ起動
$ php artisan serve
Composer
$ composer install
$ composer update
npmコマンド
$ npm run watch (ファイルの監視)
$ npm run hot (ファイルの監視)
$ npm run watch-poll (docker時)
$ npm run dev
$ npm run prod (本番環境用)
データベース周り
開発環境MAMPでMySQLを使用する場合
$ export PATH=$PATH:/Applications/MAMP/Library/bin
$ source ~/.bash_profile
$ cd /Applications/MAMP/Library/bin/
$ ./mysql -u root -p
mysql> CREATE DATABASE 〇〇;
mysql> USE 〇〇;
//① あとで使う
mysql> SHOW VARIABLES LIKE '%sock%';
データベース接続
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=データベース名
DB_USERNAME=ユーザー名
DB_PASSWORD=パスワード
config/database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', '.envに記載したデータベース名'),
'username' => env('DB_USERNAME', '.envに記載したユーザー名'),
'password' => env('DB_PASSWORD', '.envに記載したパスワード'),
'unix_socket' => env('DB_SOCKET', '①'),
ログイン機能
データベースとの連携が終わっていることが前提
6系
$ composer require laravel/ui:^1.0 --dev
// vue
$ php artisan ui vue --auth
// React
$ php artisan ui react --auth
$ php artisan migrate
$ npm install
キャッシュ消去(むやみに行わない)
キャッシュの消去
$ php artisan cache:clear
$ php artisan config:clear
$ php artisan route:clear
$ php artisan view:clear
$ php artisan config:cache
Controller
コントローラー
// controllerの作成
$ php artisan make:controller 〇〇Controller
Model
モデル
// modelの作成、-mでmigrationファイルも一緒に作成
$ php artisan make:model 〇〇 -m
// migrationファイルの作成
$ php artisan make:migration create_〇〇_table
// 変更を反映
$ php artisan migrate
// migrationファイルを一つ前の状態に戻す
$ php artisan migrate:rollback
// migrationファイルを再構築する。DBに入っている情報が全部消えるので注意
$ php artisan migrate:fresh
Seeder
$ php artisan make:seeder 〇〇TableSeeder
$ composer dump-autoload
$ php artisan db:seed
$ php artisan migrate:refresh --seed
Tinker
$ php artisan tinker
Blade
Blade上のVueコンポーネントにjson形式で値を渡す
既にDBに値がある場合と、値がまだない場合を三項演算子で表示
<vue-component
① :title="{{json_encode($post->title ?? old('title'))}}"
② :title='@json($post->title ?? old('title'))'
></vue-component>