- Vue + Vue Router + Vuex + Laravelが学べる
- SPA開発の練習になる
- 実際に動作する
- docker-compose.yml, Dockerfileの書き方に慣れる
- Node:
10.7.0-> 10.17.0 - npm:
6.4.1-> 6.11.3 - Vue.js: 2.5.21
- Vue Router: 3.0.2
- Vuex: 3.0.1
- PHP:
7.2.10-> 7.2.24 - Laravel:
5.7.19-> 6.4.1
<env name="DB_CONNECTION" ...省略
となっているが
<server name="DB_CONNECTION" ...省略
へ変更
'password' => 'secret'
を
'password' => 'password'
へ変更
テストコード内でsetUp()メソッドを使用するときは明示的に引数、返り値を記述する
TestCase.phpに合わせて
public function setUp(): void
と、返り値はvoid型(返り値なし)と記述する必要あり
const mutations = {
setUser (state, user) {/* 略 */},
setApiStatus (state, status) {
state.apiStatus = apiStatus
},
setLoginErrorMessages (state, messages) {/* 略 */}
}
以下の措置をとる
use Illuminate\Support\Arr;
array_get()をArr:get()へ置き換える
use Illuminate\Support\Facades\Storage;
-'id' => str_random(12),
-'filename' => str_random(12) . '.jpg',
+'id' => Str::random(12),
+'filename' => Str::random(12) . '.jpg',
PhotoList.vue
内のscript内のmethods内fetchPhotosメソッド
async fetchPhotos () {
- const response = await axios.get(`/api/photos/?page=${this.page}`)
+ const response = await axios.get(`/api/photos/?page=${this.$route.query.page}`)
}
:src="item.filepath"
では画像が表示されない。以下に変更
:scr="item.url"
写真詳細取得APIも認証なしでアクセスできるように設定する際 PhotoController.php
$this->middleware('auth')->except(['index', 'show']);
となっているが実際は前章で追加した download
も含まれている)。
$this->middleware('auth')->except(['index', 'download', 'show']);
Photo
モデルに likes_count
と liked_by_user
という2つのアクセサを追加する際
use Illuminate\Support\Facades\Auth;
を記述する。