はじめに 最近Laravelの情報収集用にTwitterアカウントを作ってみました。結果、海外に比べて日本は情報が散逸していてちょっと辛いぞという気持ちになりました。そのためLaravelの情報を集約するためのリンク集を作ることにしました。このリンク集が、業務や学習の手助けになればと思います。もし追加した方が良いリンクがあれば、コメント欄で教えてください。 基本Laravel学習の時も、実業務で使う時も一貫してお世話になるであろうリンクを集めています。Laravel公式 主にLaravelの機能を調査したいときに参照します。 https://laravel.com/ https://readouble.com/laravel/ (非公式和訳) アップグレードガイド バージョンアップ時の差分と対応方法を知りたいときに参照します。 https://laravel.com/docs/6.x/

はじめにLaravelのいろいろなクラスに用意されているマクロは足りないメソッドをサブクラスを作らず直接追加する感じで使えてとても強力です。 実際に実行する関数の中身はPHPのクロージャーを使って与えるのですが、実行時には$thisをそのクラスに束縛しなおしているので、普通にそのクラスのメソッドで行えることは全部できます。private/protectedなメソッド/プロパティにもアクセスできます。 しかしPhpStormは束縛しなおされた$thisをうまく扱うことができないので、たくさん警告がでます。たとえば以前の記事「Eloquentでrelationのレコードの有無だけをサブクエリで取得したい」で定義したマクロはこんな感じになります。 黙らせる方法 いろいろ試して今使っている方法を紹介します。アイディアとしては「$thisの変化を指定できないのなら、マクロ定義を行うクラスに必要なメ

namespace App\Http\Requests; use App\Http\Requests\Request; use Illuminate\Foundation\Http\FormRequest; classCreateUserRequest extends FormRequest { public function authorize() { return true; } /** * Validationルール * * @return array */ public function rules() { return [ 'name' => 'required', 'zip' => 'required', 'prefecture' => 'required', 'city' => 'required', 'address' => 'required', 'tel' => 'r

自主勉強がてらにLaravelでECサイトを作ってみようと思っているのですが、決済の処理を実装しようにも肝心の商品をデータとして用意する必要があります。PHPではFakerを使って電話番号やメールアドレスと言った仮のデータを作ることが出来ますが、商品に関する仮データには対応していない様だったので作り方をざっとまとめます。 *基本的な処理や画面はLaravel学習帳のCRUD処理の内容を元にしています。 動作環境について OS:macOS HighSierra version: 10.13.6Docker(Engine):18.06.1-ce 対象ブラウザGoogleChrome:69以上 作成する環境 centOS:7.5Laravel:5.6PHP:7.2MySQL:5.7 APache2.4 参考資料 CRUDアプリの作成(一覧)CSVファイルの特定の列を取り出す 商品

はじめに Webアプリケーションの開発は、ローカル開発環境の構築手段の選択肢が増えたことによって、ここ10年ほどでかなり効率的に開発を行うことができるようになりました。 2000年代までは、オンプレサーバやレンタルサーバ上に共有の開発サーバを手配し、開発者がリモートからアクセスして開発・テストし、SVNでソースコードを管理することが多かったのではないかと思います。 しかし近年では、 Infrastructure as Code の流れから、インフラの設定をコードで定義し、かつそれらを本番や開発に関係なく持ち回れるようにすることで、各環境の構築に関する膨大なサポート作業を効率化し、アプリケーションを開発するまでの手間が大きく削減されました。(自動化する為の技術を覚える手間は増えました。) 私の所属するチームでは Vagrant + VirtualBox が基本構成なのですが、近頃はその上に
![docker - ローカル開発環境の構築 / Laravel on [ [Vagrant + VirtualBox] with Docker ] - Qiita](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2f0a6cc4bbaf71565fc02b2806eaa796b6e4b77dbd%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fqiita-user-contents.imgix.net%25252Fhttps%2525253A%2525252F%2525252Fcdn.qiita.com%2525252Fassets%2525252Fpublic%2525252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%25253Fixlib%25253Drb-4.0.0%252526w%25253D1200%252526blend64%25253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnMzLWFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20lMkZxaWl0YS1pbWFnZS1zdG9yZSUyRjAlMkY3OTIyMiUyRmY1YjVmMDlhMzEzNTg2NmRhOGI4OWQ3MDZhYTViOWNhY2MwOTE2NjYlMkZ4X2xhcmdlLnBuZyUzRjE1Njk1ODg5NTc_aXhsaWI9cmItNC4wLjAmYXI9MSUzQTEmZml0PWNyb3AmbWFzaz1lbGxpcHNlJmJnPUZGRkZGRiZmbT1wbmczMiZzPTY2MzhjOGYxY2NhODhkZmUxNjBiOWJmOGY3YjZlNDU3%252526blend-x%25253D120%252526blend-y%25253D467%252526blend-w%25253D82%252526blend-h%25253D82%252526blend-mode%25253Dnormal%252526s%25253D47236298cb34af4aa1e90820a141da1d%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526fm%253Djpg%2526mark64%253DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9ZG9ja2VyJTIwLSUyMCVFMyU4MyVBRCVFMyU4MyVCQyVFMyU4MiVBQiVFMyU4MyVBQiVFOSU5NiU4QiVFNyU5OSVCQSVFNyU5MiVCMCVFNSVBMiU4MyVFMyU4MSVBRSVFNiVBNyU4QiVFNyVBRiU4OSUyMCUyRiUyMExhcmF2ZWwlMjBvbiUyMCU1QiUyMCU1QlZhZ3JhbnQlMjAlMkIlMjBWaXJ0dWFsQm94JTVEJTIwd2l0aCUyMERvY2tlciUyMCU1RCZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1wYWQ9MCZzPTQ5YzE5MmNlNWQyNTYzMGI1OWZmOTY3OGE5NmNkNzQ5%2526mark-x%253D120%2526mark-y%253D112%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBhbmZhbmdkJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LXBhZD0wJnM9YTIwN2QwNzE3Nzk1NmZmNjcwOTg3M2NmMmM1ZDM5YTQ%2526blend-x%253D242%2526blend-y%253D480%2526blend-w%253D838%2526blend-h%253D46%2526blend-fit%253Dcrop%2526blend-crop%253Dleft%25252Cbottom%2526blend-mode%253Dnormal%2526s%253D60af8df47d0e6cddc4d602b849511605&f=jpg&w=240)
Laravelでのサービス開発を容易にするために多くのパッケージをインストールします。 パッケージ管理には開発時のみ使用したいパッケージと常に使用したいパッケージがあります。Laravelでパッケージの管理をするには、composer.jsonでrequireとrequire-devを使用します。 require-devは本番環境でインストールされて欲しくないパッケージ群を登録します。 問題 パッケージをインストールしproviderとして登録したいが、Laravelではproviderの登録は開発用、本番用で分割されていません。 そのため開発用パッケージをproviderとして登録すると、本番環境ではインストールされていないパッケージが使われるのでclass not foundが発生します。 解決策 解決策としては開発時のみ読み込む、dev-providerのようなものがあればスマート
![[Laravel5] スマートに開発用パッケージをprovider登録する方法 - Qiita](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2fc4ea1b0558a0782600e9a43e2aca6aa3d72635d6%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fqiita-user-contents.imgix.net%25252Fhttps%2525253A%2525252F%2525252Fcdn.qiita.com%2525252Fassets%2525252Fpublic%2525252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%25253Fixlib%25253Drb-4.0.0%252526w%25253D1200%252526blend64%25253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRmF2YXRhcnMxLmdpdGh1YnVzZXJjb250ZW50LmNvbSUyRnUlMkYyMjc3MDkyNCUzRnYlM0QzP2l4bGliPXJiLTQuMC4wJmFyPTElM0ExJmZpdD1jcm9wJm1hc2s9ZWxsaXBzZSZiZz1GRkZGRkYmZm09cG5nMzImcz1kZWExY2EzOTUyNmI1ZGRjZmQzM2UxZDU2NmMxOWU1NA%252526blend-x%25253D120%252526blend-y%25253D467%252526blend-w%25253D82%252526blend-h%25253D82%252526blend-mode%25253Dnormal%252526s%25253Db1ab7885b81cc6914cdb60bbb8efa6d6%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526fm%253Djpg%2526mark64%253DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JTVCTGFyYXZlbDUlNUQlMjAlMjAlRTMlODIlQjklRTMlODMlOUUlRTMlODMlQkMlRTMlODMlODglRTMlODElQUIlRTklOTYlOEIlRTclOTklQkElRTclOTQlQTglRTMlODMlOTElRTMlODMlODMlRTMlODIlQjElRTMlODMlQkMlRTMlODIlQjglRTMlODIlOTJwcm92aWRlciVFNyU5OSVCQiVFOSU4QyVCMiVFMyU4MSU5OSVFMyU4MiU4QiVFNiU5NiVCOSVFNiVCMyU5NSZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1wYWQ9MCZzPWM0OGU1MTgwOGYxMmM4MDA1ODNhOWNmYWY3MDJmZDZi%2526mark-x%253D120%2526mark-y%253D112%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBOQUtLQS1LJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LXBhZD0wJnM9NGUyOWMyNWFmZDk2NTI2OTNiYjJiYjk2ZGJhMzBmYjY%2526blend-x%253D242%2526blend-y%253D480%2526blend-w%253D838%2526blend-h%253D46%2526blend-fit%253Dcrop%2526blend-crop%253Dleft%25252Cbottom%2526blend-mode%253Dnormal%2526s%253Dc7c2234a992a91fd46aa286b46a56ea0&f=jpg&w=240)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く