#author("2023-02-18T09:39:34+00:00","default:admin","admin") #author("2023-02-28T05:12:46+00:00","default:admin","admin") -[[Laravel関連記事:https://reffect.co.jp/laravel]] -[[PHPのWeb開発を効率化できるフレームワーク「Laravel」とは?:https://codezine.jp/article/detail/13747]] -[[Laravelとは何?Laravelの11個の特徴と使う際の注意点を紹介:https://www.acrovision.jp/career/?p=2776]] -[[Laravelが最高のPHPフレームワークである10の理由:https://www.software-developer-india.com/ja/laravel%E3%81%8C%E6%9C%80%E9%AB%98%E3%81%AEphp%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%A7%E3%81%82%E3%82%8B10%E3%81%AE%E7%90%86%E7%94%B1/]] -[[ucan-lab/laravel-dacapo:https://github.com/ucan-lab/laravel-dacapo]] -[[can-lab/docker-laravel:https://github.com/ucan-lab/docker-laravel]] -[[ECS on FargateでLaravelを動かすときにはまったこと:https://tech.innovator.jp.net/entry/container-error]] *バージョン [#q7a4bf58] **Laravel 10 [#o47ef711] -[[Laravel 10🐿がリリースされたのだ🎉【Laravel 10 新機能:https://qiita.com/7mpy/items/e92dc2e89d9fcf678220]] **Laravel 9 [#c86237b5] -[[Laravel 9.0 新機能 キャッチアップ:https://zenn.dev/ohkisuguru/scraps/10fbd327892587]] -[[1年半振りのメジャーバージョンアップ(予定)!Laravel9の新機能ピックアップ!:https://qiita.com/ucan-lab/items/7bde88a5d29a4e56085d]] -[[PHPによるWebアプリケーションフレームワーク「Laravel 9」がリリース:https://codezine.jp/article/detail/15575]] **Laravel 8 [#d593492c] -[[【Laravel】いつのまにバージョン8になっていたのか:https://nplll.com/2021/02/laravel-version-8-and-9/]] *基本事項 [#ea5a028e] -[[[Laravel8.x]Queue(キュー),Job(ジョブ),Worker(ワーカー):https://nyan.blog/2021/02/24/laravel8-xqueue%E3%82%AD%E3%83%A5%E3%83%BCjob%E3%82%B8%E3%83%A7%E3%83%96worker%E3%83%AF%E3%83%BC%E3%82%AB%E3%83%BC/]] -[[【Laravelスキルアップ講座】Laravel JobとQueueも設定はこんなに簡単:https://reffect.co.jp/laravel/laravel-job-queue-easy-setup]] **artisan [#g1cc2d2a] **Eloquent [#b109d478] -[[Eloquent をおさらい:https://qiita.com/shosho/items/5ca6bdb880b130260586]] **Queue [#fb03590b] -Queueはある決まった処理を非同期で実行するための仕組み -QueueにJobを登録していき、その処理を実行していく **Job [#h38c9ce3] -Jobとは処理を実行する本体 -QueueにJobが登録され、queueにあるJobが実行されます **Worker [#q71adad9] -Workerは常駐していて、Queueを監視 -Queueがあれば、Jobにデータを渡して処理を実行 *デザインパターン [#y1a957f8] -[[LaravelでStrategyパターン & Factory Methodパターン:https://tech.012grp.co.jp/entry/laravel-design-pattern]] -[[Laravel で Service 層を取り入れるときに検討したいこと:https://qiita.com/nunulk/items/6b7a7bbda17192f6b2f5]] *アプリケーション構造 [#rfa04369] **Http [#rb1eda37] ***Controllers [#z2e2f35b] -[[laravelのコントローラの書き方:https://zenn.dev/mo_ri_regen/articles/laravel-contoller]] -フロントと、ビジネスロジックで取得したデータの橋渡しの役割を担う ***Middleware [#n25ef284] -[[【Laravel】ルーティングのミドルウェアとは?作成手順と実例 (Route::midlewareの意味など):https://qiita.com/shizen-shin/items/5e050bf07b2257a6a1d7]] -[[Laravelのミドルウェアを使ってみた【徹底解説】:https://codelikes.com/use-laravel-middleware/]] -[[Laravel Middleware 調べてみた:https://tech-tech.blog/php/laravel/middleware/]] -[[Laravel ミドルウェアの設定について:https://qiita.com/ktanoooo/items/a746a96b12489ae56553]] -[[【Laravel 5.8 】「こんなとき」のミドルウェア全7実例(ダウンロード可):https://blog.capilano-fw.com/?p=3987]] -ミドルウェアを使うためには、app/Http/Kernel.php に新しく作ったミドルウェアを登録する必要がある -ミドルウェアを登録する形式は以下の2つがある --グローバルミドルウェア ... アプリケーション全体に作用させたい場合 --ルートミドルウェア ... 特定のルートに対してのみ作用させたい場合 ---ルートミドルウェアを登録するときには、ミドルウェアを呼び出すためのエイリアスも登録する -ミドルウェアの実施順序 --[[https://laravel.com/docs/8.x/middleware#sorting-middleware]] --[[Laravelで複数Middlewareを指定するときは優先度も指定しよう:https://qiita.com/kazuhei/items/1de0fc08f4f2e3af4035]] --基本の処理順 ---①グローバルミドルウェア(前処理) ---②ルートミドルウェア(前処理) ---③コンストラクタ内ミドルウェア(前処理) ---④コントローラーの処理 ---⑤コンストラクタ内ミドルウェア(後処理) ---⑥ルートミドルウェア(前処理) ---⑦グローバルミドルウェア(前処理) --LaravelではMiddlewareの優先度を指定することができる --app/Http/Kernel.phpに書いておく ***Requests [#t4953ccc] -[[laravel HTTPリクエストまわり 調べてみた:https://tech-tech.blog/php/laravel/request/]] ***Kernel.php [#t54f8915] -[[Laravel 7.4 Kernelを読む:https://qiita.com/Syy12345-Unity/items/304e0a4b5db3c31c9a5b]] **Logics [#p4ce9a42] **Models [#pe2de9b4] -[[Laravelの登録・更新処理で「$fillable」を検証してみた:https://note.com/makoto0419/n/nf87bc442601b]] -[[Laravel7 $fillableと$guardedの使い方:https://mebee.info/2020/05/12/post-11098/]] **Providers [#w9aecb48] -[[Laravelの構成概念 第3回 サービスプロバイダ編:https://qiita.com/ucan-lab/items/738abfd650be76333da6]] **Repositories [#j177fcc8] -[[Laravelアプリケーションでリポジトリパターンを使う方法:https://www.twilio.com/blog/repository-pattern-in-laravel-application-jp]] -[[リポジトリパターンと Laravel アプリケーションでのディレクトリ構造:https://qiita.com/karayok/items/d7740ab2bd0adbab2e06]] -[[Laravelでリポジトリを実装してみた+ちょっとした考察:https://zenn.dev/tosa/articles/cb7635a0ee206a]] -[[【Laravel】Repositoryパターンで実装する:https://pockyblog.com/laravelrepository/]] -[[[Laravel] DI/リポジトリパターン:https://zenn.dev/snail_tanishi/articles/laravel_di_service_ripository]] -[[LaravelでRepositoryパターンを実装する-入門編-:https://www.ritolab.com/entry/165]] -[[LaravelでRepositoryパターンを実装する-実践編-:https://www.ritolab.com/entry/185]] -Repository(リポジトリ)パターンは、ドメイン駆動型設計の一つとして導入されたもので、データソースへのアクセスの抽象化を提供するもの -データの永続化に関わるビジネスロジック(データの保存などの操作)を書く **Services [#w992b87b] -[[LaravelでService層、Repository層を取り入れる方法とその必要性を簡潔に語る:https://qiita.com/takeyaboo/items/9e0e9969f5d5d9c25d30]] -[[Laravel サービスコンテナの理解を深める:https://reffect.co.jp/laravel/laravel-service-container-understand]] -[[Laravel サービスプロバイダーついに理解:https://reffect.co.jp/laravel/laravel-service-provider-understand]] -[[【Laravel】Laravelのキモ、「サービスコンテナ」の仕組みを理解する〜前編〜:https://yutaro-blog.net/2021/06/30/laravel-service-container-1/]] -[[【Laravel】Laravelのキモ、「サービスコンテナ」の仕組みを理解する〜後編〜:https://yutaro-blog.net/2021/06/30/laravel-service-container-2/]] -[[Laravel でサービス(Service)クラスの作り方:https://qiita.com/ntm718/items/14751e6d52b4bebde810]] -[[LaravelでService層とRepository層を取り入れる:https://enjoyworks.jp/tech-blog/7743]] -[[LaravelでServiceクラスを作成する手順まとめ!FacadeやProviderの作り方も解説!:https://himakuro.com/laravel-service-class-guide]] -[[Laravelでserviceクラスを作る手順!ロジックを切り分けてコード効率化:https://www.kamome-susume.com/laravel-service/]] -「Request→Controller→Service→Model or Repository」のようにビジネスロジックの処理箇所としてServiceクラスを作成 -データの永続化に関わらないビジネスロジックを書く --json整形のような取得したデータを加工してControllerに値を返す処理など **config [#qad35f0e] ***database.php [#bc73928b] **database [#u7a81340] -[[Laravel8で完成されたModelFactoryの使い方:https://qiita.com/ucan-lab/items/788d1a603f2b53ebb999]] ***factories [#ud95feb9] -[[Laravel 8.x データベーステスト:https://readouble.com/laravel/8.x/ja/database-testing.html]] ***migrations [#pa37ff55] -[[Laravel 8.x マイグレーション:https://readouble.com/laravel/8.x/ja/migrations.html]] **routes [#acec6780] ***api.php [#t631c955] -[[【Laravel】APIのルーティングを設定するapi.phpの概要を解説します:https://www.tairaengineer-note.com/laravel-api-php/]] ***web.php [#sa206fba] **tests [#edc50351] -[[PHPUnitでLaravelのAPIをユニットテストする:https://www.twilio.com/blog/unit-testing-laravel-api-phpunit-jp]] -[[【Laravel】APIテストを自動化してみよう:https://e-seventh.com/laravel-how-to-test-web-api/]] -[[Laravelで初めてのテストとTDDをサクッとやってみる【初心者向け】:https://tech.012grp.co.jp/entry/tdd_introduction]] -[[Laravel で API コントローラのテストをする (FeatureTest 編):https://qiita.com/grohiro/items/4efc6c569be26e36aef2]] ***Feature [#lb663f44] -機能テスト ***Unit [#y65e21d0] -ユニットテスト *パッケージ [#z3f29d0d] -[[Laravelで使えるおすすめパッケージ・ライブラリまとめ:https://qiita.com/ChiseiYamaguchi/items/7277aad6be309d0f7ae7]] **開発環境 [#i24bb566] ***Laravel Valet [#v0021c30] -[[Laravel Valet 3 Released With Multi-Version PHP Support:https://laravel-news.com/laravel-valet-3-0-0]] -[[macOS向けのLaravel開発環境「Laravel Valet 3」がリリース。サイトごとにPHPバージョンが指定可能に:https://codezine.jp/article/detail/15786]] **認証 [#kf6fb4dd] -[[Laravelの認証系パッケージを整理する:https://zenn.dev/localdisk/articles/a338175e913410]] ***Laravel Breeze [#ua864fa7] -Laravelを使ったユーザ登録、ログイン、パスワードの再設定などの認証に関わる基本的な機能を提供 ***Laravel Fortify [#w45f9007] ***Laravel Sanctum [#c917470a] -モバイルアプリや SPA 作成時に使用されるライブラリ -トークン認証(主にモバイルアプリ用)、クッキー認証(主に SPA 用)ができる ***Laravel Passport [#h8bed9ce] -[[Laravel PassportのAPI認証を理解する:https://reffect.co.jp/laravel/laravel-passport-understand]] -[[Laravel PassportでOAuthサーバーを実装、クライアントアプリでAPIアクセスを確認:https://blog.hrendoh.com/implement-oauth-server-using-laravel-passport/]] -[[laravel passport導入:https://zenn.dev/syy/scraps/480a29a3a30607]] -[[Laravel Passportをやってみるメモ:https://satofaction.net/blog/20210111/]] -[[Laravel Passportのoauth系ルーティングはどこで定義されているのか:https://qiita.com/miriwo/items/5f154fd21578c4c69684]] ***Laravel Jetstream [#y87bb571] **エラー検知 [#bd5c85a8] ***[[Flare:https://flareapp.io/]] [#lf9ea2ed] **テスト [#ia8dd7ed] ***Laravel Dusk [#f6127667] -[[「Laravel Dusk」を使ってブラウザテストを自動化する:https://liginc.co.jp/422942]] -[[【Laravel】Duskで画面全体のスクリーンショットを取る:https://ojisan2355.com/laravel_tips-6/]] -アプリケーションのブラウザテストを行うためのツール ***負荷テスト [#t595aaff] -[[k6 Load Test:https://github.com/marketplace/actions/k6-load-test]] *Git [#wd503898] **.gitignore [#lc0af168] ***トップ [#a2cfc4c2] ***空フォルダを管理対象に [#hf418619] -以下のフォルダに下記の内容の .gitignore を配置 --storage/framework/cache/data/ --storage/framework/app/cache --storage/framework/sessions --storage/framework/views * !.gitignore -こうすることで、GitHub ActionsでPHPUnitテストを行った際にエラーが出ないようにできる *開発 [#m99e313c] **WebAPI [#g84dd029] -[[Laravel PHPでRESTful APIを構築する方法:https://www.twilio.com/blog/building-and-consuming-a-restful-api-in-laravel-php-jp]] -[[Laravel Passportを使用したPHPによるセキュアなAPIの構築:https://www.twilio.com/blog/build-secure-api-php-laravel-passport-jp]] -[[TwilioとLaravelを使った二要素認証APIの作り方:https://cloudapi.kddi-web.com/magazine/two-factor-authentication/create-original-verify-api-laravel]] -[[【初心者向け】Laravelで WebAPIを作成する。:https://tech-blog.rakus.co.jp/entry/20210928/laravel]] -[[laravel でAPI作成:https://qiita.com/mdrq/items/a5a5d33e30ef1108c54e]] -[[LaravelでCRUDのAPIをささっと作る:https://qiita.com/sayama0402/items/0188c740360479db3f98]] -[[API設計書を自動で作成できるLaravel Scribeのツールレビュー:https://zenn.dev/naoki_oshiumi/articles/a49395f31e24ac]] ***GraphQL [#ze5ceee9] -[[Laravel で GraphQL を使えるようにする! LightHouseハンズオン:https://don-bu-rakko.com/laravel-%E3%81%A7-graphql-%E3%82%92%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%EF%BC%81-lighthouse%E3%83%8F%E3%83%B3%E3%82%BA%E3%82%AA%E3%83%B3/]] -[[Laravel・VueでGraphQLの環境を構築して使用してみる(Docker使用):https://maasaablog.com/development/laravel/1873/]] *デバッグ [#kf096be5] **tinker [#n41de097] -[[Laravel コントローラをtinkerから実行する:https://qiita.com/ucan-lab/items/da3441b7a9e5c79f759d]] *トラブルシューティング [#y6464b8d] -[[MySQL・laravelで日付型に「0000-00-00」保存でエラー:https://tips.recatnap.info/laboratory/detail/id/482]] --MySQLのSQLモードを見直した方が良い ***Target class [***Controller] does not exist. [#df946126] -[[Laravel8を試したら即効でエラー「Target class [〇〇〇Controller] does not exist.」が表示された:https://qiita.com/tamakiiii/items/e71040173fa0a1fcad83]] -[[[ laravel 8.x ] Target class [✖︎✖︎✖︎Controller] does not exist.の解決法:https://utubou-tech.com/laravel8-x_error2/]] -[[Laravelを使ったルーティング方法:https://zenn.dev/mo_ri_regen/articles/laravel-routing]] --大文字/小文字に注意! ***Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1 [#n121850d] -[[Laravel環境をインポートしたときに”artisan package:discover handling the post-autoload-dump event returned with error code 1″エラーが出た時に確認したいこと:https://cpoint-lab.co.jp/article/201812/6788/]] ***Please provide a valid cache path. [#t3b6fb71] -[[Laravelのデプロイ時にPlease provide a valid cache path.が出た時の対処法:https://eclair.blog/laravel-cache-path-error/]] $ mkdir -p storage/framework/cache/data/ $ mkdir -p storage/framework/app/cache $ mkdir -p storage/framework/sessions $ mkdir -p storage/framework/views ***Unable to locate Mix file [#ob4faf55] -[[[Laravel8]Unable to locate Mix file:エラーで苦戦。解決方法(css,js も):https://aoisora-coffee.com/laravel/unable-to-locate-mix-file]] -[[Compilation error: ERROR in child compilations [laravel]:https://github.com/laravel-mix/laravel-mix/issues/3196]] -[[Laravelで(1 WARNING in child compilations (Use 'stats.children: true' resp. '--stats-children' for more details) webpack compiled with 1 warning)というエラーが出た時:https://qiita.com/akkii1/items/db7444d69013969676ae]] -npm run dev でエラー % npm run dev > dev > npm run development > development > mix ✖ Mix Compiled with some errors in 356.92ms ERROR in ./resources/css/app.css Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js): ModuleBuildError: Module build failed (from ./node_modules/postcss-loader/dist/cjs.js): TypeError: Cannot read properties of undefined (reading 'config') at getTailwindConfig (/Users/mr/Projects/sample_actions/node_modules/tailwindcss/lib/lib/setupTrackingContext.js:131:62) at /Users/mr/Projects/sample_actions/node_modules/tailwindcss/lib/lib/setupTrackingContext.js:22:92 at /Users/mr/Projects/sample_actions/node_modules/tailwindcss/lib/processTailwindFeatures.js:38:11 at plugins (/Users/mr/Projects/sample_actions/node_modules/tailwindcss/lib/index.js:30:63) at LazyResult.runOnRoot (/Users/mr/Projects/sample_actions/node_modules/postcss/lib/lazy-result.js:339:16) at LazyResult.runAsync (/Users/mr/Projects/sample_actions/node_modules/postcss/lib/lazy-result.js:393:26) at async Object.loader (/Users/mr/Projects/sample_actions/node_modules/postcss-loader/dist/index.js:97:14) at processResult (/Users/mr/Projects/sample_actions/node_modules/webpack/lib/NormalModule.js:753:19) at /Users/mr/Projects/sample_actions/node_modules/webpack/lib/NormalModule.js:855:5 at /Users/mr/Projects/sample_actions/node_modules/loader-runner/lib/LoaderRunner.js:399:11 at /Users/mr/Projects/sample_actions/node_modules/loader-runner/lib/LoaderRunner.js:251:18 at context.callback (/Users/mr/Projects/sample_actions/node_modules/loader-runner/lib/LoaderRunner.js:124:13) at Object.loader (/Users/mr/Projects/sample_actions/node_modules/postcss-loader/dist/index.js:142:7) 1 ERROR in child compilations (Use 'stats.children: true' resp. '--stats-children' for more details) webpack compiled with 2 errors **file_put_contents ... [#s918b899] ***file_put_contents(/var/www/html/sample/storage/framework/sessions/... [#p5da2d10] -[[laravel & vue.js エラー解消方法:https://prograshi.com/framework/laravel/error-file_put_contents/]] $ chmod 777 storage/framework/sessions/ ***file_put_contents : failed to open stream: [#m32614e2] -[[【Laravel】エラーの原因と対処法:file_put_contents : failed to open stream: No such file or directory:https://prograshi.com/framework/laravel/error-file_put_contents/]] **npm [#md18a2ea] -[[Laravel npm run devでエラーが発生した話:https://qiita.com/miriwo/items/2d96062d38031e4c7944]]