Closed11
Laravel学習日記
動かして学ぶ!Laravel開発入門(山崎 大助)|翔泳社の本 https://www.shoeisha.co.jp/book/detail/9784798168654
この本をやってる
書籍と違うところとか
- WSL2 + Ubuntu でやってる
- Laravel 8 でやってる
- AWS Cloud9 ではなく Docker でやってる
- 実開発はDockerのほうが多いと思ったので
最強のLaravel開発環境をDockerを使って構築する - Qiita
Docker環境はこれで作る
いまいちわかってないところ
- コンテナの中に行って artisan コマンドを実行するが、その際にファイルが生成される
- 生成したファイルの所有権が root になりがちで、今なにも工夫をしてないのであんまりよくないかもしれない
Laravel 8 になって変わったところ
- Modelのデフォルトの配置場所が変わってそう
- App配下と書かれているが、実際は App/Models の下にある
- Routing の記載方法が変わっている
- Pagenationでデザイン指定をしないと表示バグが起きる
Validationの課題をするときに参考にしたページ
Fakerの現状
- 元のリポジトリはアーカイブされている
- fzaninotto/Faker: Faker is a PHP library that generates fake data for you https://github.com/fzaninotto/Faker
- 脱線するが、OSSとライブラリの保守の観点で下記の記事は深い学びがあった
- https://marmelab.com/blog/2020/10/21/sunsetting-faker.html
- 現在はフォークされたものがメンテナンスされている FakerPHP/Faker: Faker is a PHP library that generates fake data for you https://github.com/FakerPHP/Faker/
- fzaninotto/Faker: Faker is a PHP library that generates fake data for you https://github.com/fzaninotto/Faker
下記の記事が役に立った
【PHP】ランダムデータ生成用ライブラリ fzaninotto/Faker の後継の FakerPHP/Faker の紹介 – 株式会社シーポイントラボ | 浜松のシステム・RTK-GNSS開発 https://cpoint-lab.co.jp/article/202012/18061/
Laravel8で完成されたModelFactoryの使い方 - Qiita https://qiita.com/ucan-lab/items/788d1a603f2b53ebb999
Fakerの config 設定が変わっている
もう少しきれいな書き方はあるかもしれないが、調べた情報をもとにコードを書いたところ、こうなった。
(Factoryをうまく使った方がいい気がするが…)
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Faker\Generator;
use App\Models\Book;
class BooksTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
$faker = app()->make(Generator::class);
for($i = 0; $i < 10; $i++) {
Book::create([
'item_name' => $faker->word(),
'user_id' => $faker->numberBetween(1, 2),
'item_number' => $faker->numberBetween(1, 999),
'item_amount' => $faker->numberBetween(100, 5000),
'item_img' => $faker->image("./public/upload", 300, 300, 'cats', false),
'published' => $faker->dateTime('now'),
'created_at' => $faker->dateTime('now'),
'updated_at' => $faker->dateTime('now'),
]);
}
}
}
phpMyAdmin について
- インストールはうまくいく、最新版は 5.X 系でそっち使えばよさそう
-
Composer detected issues in your platform: Your Composer dependencies require the following PHP extensions to be installed: mysqli
エラーになっている- 多分 mysqli を入れればよさそう
- Dockerでやっているのでビルドしなおしたほうがいいかも
- いったん面倒なのでパスする
読み終わったので、いったんどこかでまとめることにして、スクラップ自体はアーカイブする。
このスクラップは2021/08/14にクローズされました