並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 706件

新着順 人気順

Laravelの検索結果1 - 40 件 / 706件

  • Laravel自動テスト技法 ─ データベーステストとメソッドインジェクション

    お疲れ様です。GMOインサイトの天河です。 天河は2024年1月をもって、GMOアドマーケティング株式会社からGMOインサイト株式会社に転籍となり、michill という女性向けウェブメディアの開発を担当していました。 michill by GMO 天河は転籍後の3ヶ月間のタスクの中で、michillの自動テスト/ユニットテストを実装してきました。200以上のメソッドのテストを実装し、プロダクト品質向上と、問題点の発見 / 改善に貢献することができました。 この記事では、Laravelのテストを実装する中で「このテスト、どうやって書いたらいいんだ?」と苦労したケースの解決方法を紹介したいと思います! 「リレーションを持つデータベースに関するテスト」 「データを偽装する必要があるテスト(依存性の注入 / DI)」 の実装方法がメインになります。上記二つはなかなか情報が無く苦労したので、同じ状

      Laravel自動テスト技法 ─ データベーステストとメソッドインジェクション
    • Laravel11以降から使い始めた人に必要そうな質問と回答一覧

      Laravel11以降から使い始めた人に必要そうな質問と回答一覧 Laravel11ではアプリケーション構造が大幅に変わったのでこれまでの本や記事が一気に古びた。 初心者質問の定番だけど、古い本を見ながら最新のLaravelを使おうとしても使えない。 configファイルが少ない あまり使われないconfigファイルが削除された。 Laravel11以降しか知らない人にはかなり分かりにくいのでしっかり理解が必要。 プロジェクトのconfigとフレームワーク内のconfigがマージされて使われるのでファイルがなくても設定は存在している。 https://github.com/laravel/framework/tree/11.x/config マージする時はプロジェクト側のconfigが優先。 ほとんどの設定は.envで変更できるのでconfigファイルを変更することは少ない。 config

        Laravel11以降から使い始めた人に必要そうな質問と回答一覧
      • Laravel 11 Now Available - The Laravel Blog

        Today, we're thrilled to announce the release of Laravel 11 and Laravel Reverb. As we announced at Laracon EU, Laravel 11 introduces a minimal application structure, using SQLite by default, implementing health routing, offering per-second rate limiting, supporting graceful encryption key rotation, improving queue testing, introducing new Artisan commands, adding Resend mail transport, integrating

          Laravel 11 Now Available - The Laravel Blog
        • Laravel 11ついにリリース ー SQLite統合、Laravel Reverbが利用可能に

          3月13日、Laravelが最新バージョン「Laravel 11」をリリースした。 Laravel 11は、開発者に向けた新たな機能や最適化が盛り込まれ、ますます洗練された開発体験を提供している。この新バージョンの主な特徴を紹介する。 Laravel 11のハイライト: 最小のアプリケーション構成を導入 Laravel 11では、新しいアプリケーション向けに最小のアプリケーション構成が導入された。appフォルダは劇的にシンプルになりつつも、アプリケーションのカスタマイズ性はさらに向上した。これにより、既存のLaravel開発者が慣れ親しんだ概念や知識を損なうことなく、よりわかりやすく、よりモダンな開発体験を得られるようになった。 Laravel Reverbの導入 Laravel Reverbは、Laravelエコシステムに組み込まれたWebSocketサーバーで、アプリケーションに堅牢な

            Laravel 11ついにリリース ー SQLite統合、Laravel Reverbが利用可能に
          • Laravel11以降の新常識

            Laravel11以降の新常識 Laravelはメジャーバージョンアップのタイミングでたまにそれまでの常識が通じなくなる大きな変更を入れてくる。 最近だとLaravel8。ルーティングの書き方、モデルディレクトリ、Tailwind、スターターキット一新。これからLaravelを使い始める人ほど混乱する変更が大量に発生。 Laravel11は8以来の大きな変更があるので新常識の覚え直しが必要。 大事な前提 Laravel11以降に作った新プロジェクトが対象の話。 Laravel10から11に更新したプロジェクトは以前のままの使い方をしたほうがいいと公式にも推奨されている。互換は維持されている。 スリム化されたスケルトン app/内のファイルがごっそり減らされた。 使わなくてもいいController 空のAppServiceProvider Userは変わらず 3ファイルしかない。 初期状態

              Laravel11以降の新常識
            • FrankenPHP を CloudRun で動かして、1イメージだけでサーバーを実行できるのか試してみる

              FrankenPHP を CloudRun で動かして、1イメージだけでサーバーを実行できるのか試してみる2024-03-06 隙あらば自分語り1 3/8 14:40-15:20 に PHPerKaigi で話します。 PHP を Docker に固めてデプロイするときに ApacheやらNginxが求められることに対して、そもそも Webサーバーとは何かという話をします。 FrankenPHPも、Dockerに固めてデプロイするときの解決策の一つとして紹介します。 see: https://fortee.jp/phperkaigi-2024/proposal/42d9e721-b3e8-4a7d-ae88-1727ccfabf9b 隙あらば自分語り2 年パスを持っていたので小さい頃ユニバによく行っていました。 ユニバにモンスター・メーキャップ っていうフランケンシュタインが出てくるアトラ

                FrankenPHP を CloudRun で動かして、1イメージだけでサーバーを実行できるのか試してみる
              • LaravelのフロントエンドをNext.jsに段階的に移行している話

                Exploring the Power of Turbo Streams & Action Cable | RailsConf2023

                  LaravelのフロントエンドをNext.jsに段階的に移行している話
                • 【PHP/Laravel】マイグレーションファイルを全て削除するとDB構築時間が99%削減!? - RAKUS Developers Blog | ラクス エンジニアブログ

                  こんにちは。大阪楽楽開発課のdaina_rksです。 Laravelのマイグレーションを活用して、テーブル定義を更新しているサービスは多いと思います。 しかしサービスが継続するにつれ、気づけば大量のマイグレーションファイルが存在している、、、なんて経験はありませんか? 私が携わっていたプロジェクトでも同じ悩みに直面していました。 この悩みに対して、私はマイグレーションファイルを全て削除するということを行いました。 今回はそのときの経験について、なぜマイグレーションファイルを削除するに至ったのか、削除するにあたって行なったこと、削除した結果どんな効果があったのかをご紹介します! マイグレーションファイルを全て削除するに至った理由 問題 マイグレーションファイルを全て実行するのに時間がかかる マイグレーションファイルのメンテナンスコストがかかる アイデア アクション ダンプ&リストアの仕組み構

                    【PHP/Laravel】マイグレーションファイルを全て削除するとDB構築時間が99%削減!? - RAKUS Developers Blog | ラクス エンジニアブログ
                  • 完全未経験が半年で個人サービスをリリースした話 - Qiita

                    はじめに この度、転職とスキル向上を目的に個人サービス(Football League)をリリースしました。 ITに関する学習は約1年ほど、その内の半年でサービスの開発をしました! まだまだ修正箇所はあるものの、ひとまず形にはなったのでサービスの使用技術や開発過程を共有したいと思います。 私自身、独学で学習してきたのでそういった方々にとって少しでも参考になれば幸いです。 ご報告 現在権利関係について、本サイトで利用している外部APIの提供者様にお問い合わせしているため、メンテナンス状態とさせて頂いております。 ・メンテナンス時間 2024/01/18 15:45〜未定 自己紹介 商業高校卒(サッカー部⚽️) 25歳 青森住み🍏 職業はトマト農家です🍅 どのようなサービスか 本サービスは、欧州5大リーグのサッカーの試合結果やチーム情報などを閲覧することができるWebサイトです。 ただ情報

                      完全未経験が半年で個人サービスをリリースした話 - Qiita
                    • 2023年に書いたコード - laiso

                      「2023年のふりかえり」ではPythonやJavaScriptのコーディングの話ばかり出てくるけど、これって今年全体から見ると1割以下だなぁと思ったのでGitHubのメトリクスを見ながら振り返ることにした laiso.hatenablog.com 言語ごとのコミット数 PHPの話 Laravelの話 開発手法の話 テストの話 GitHub上での活動 2021年 2022年 言語ごとのコミット数 vn7n24fzkq/github-profile-summary-cardsというのが生成してくれたグラフ profile-summary-card-output Python はデータ分析サーバーをFastAPIで書いてるのでその分と、Swiftは記憶にない 他の大部分はLaravel を使った複数のプロジェクトになる PHPの話 PHPの仕事が欲しいわけではないのであんまりPHP書ける人ブラ

                        2023年に書いたコード - laiso
                      • Laravel Breezeのソースを読んだので超絶詳しく解説していく【ログイン処理編】

                        はじめに みなさん、きちんとフレームワークやライブラリのコードを読んでいますか? 自分はこれまで「ここってどうなってるんだろう?」と思いながらも、「とりあえず使えないことには始まらない」「読解する時間がない」「基本がわからないとどうしようもない」という理由でフレームワークのコードを読むことを後回しにしてきました。 けど、それを後回しにしてもいい時間はもう終わり。 今のレベルから一つ上のレベルに上がっていくためには「なぜ?」を放置せず、疑問を突き詰め、さらなる疑問にぶちあたり、またその疑問を調べ解決していくという作業が必要なのではないかと思います。 そこで以前から利用しているもののその中身を詳しく覗いたことがなかった、"Laravel Breeze"のソースコードを読み解いていこうかと思います。 シリーズものにしていこうかと考えており、今回はまず基本も基本、ログイン処理から見ていこうと思いま

                          Laravel Breezeのソースを読んだので超絶詳しく解説していく【ログイン処理編】
                        • Go言語で書かれたPHPアプリケーションサーバ「FrankenPHP 1.0」がリリース

                          FrankenPHP 1.0には、Symphony、Laravel、WordPressなどのネイティブサポートが含まれるほか、Caddyを搭載したプロダクショングレードのPHPサーバであり、PHPアプリのスタンドアロンで実行可能なバイナリとしてのパッケージ化が可能となっている。 さらに、PHP-FPMとNgnixを個別に実行する必要がなく、1つのサービスのみでPHPサーバを提供できるようになるとともに、PHP 8.2以降のほとんどのPHP機能拡張、およびすべてのCaddyモジュールと互換性がある。 ほかにも、アプリケーション起動してメモリに保持するワーカーモード、JavaScriptイベントとしてWebブラウザへ送信されるリアルタイムイベント、ZstandardおよびGzip圧縮、構造化されたログ、Prometheusメトリクスを使用したCaddyの監視、HTTPS・HTTP/2・HTTP

                            Go言語で書かれたPHPアプリケーションサーバ「FrankenPHP 1.0」がリリース
                          • Laravel の FormRequest バリデーションの動きに忠実なテスト方法を考える

                            Laravel の FormRequest とは? 基本的な説明は割愛します。公式ドキュメントを参照してください。 FormRequest が実際に解決される動き これに関しても以下の記事によくまとまっていますので,リンクしておきます。 ポイントとなるのは FormRequestServiceProvider にある $this->app->afterResolving(ValidatesWhenResolved::class, function ($resolved) { $resolved->validateResolved(); }); $this->app->resolving(FormRequest::class, function ($request, $app) { $request = FormRequest::createFrom($app['request'], $re

                              Laravel の FormRequest バリデーションの動きに忠実なテスト方法を考える
                            • Laravel を Docker で動かしてホスティングするまで

                              ひょんとしたことから PHP をやることになったのですが、Laravel を コンテナでホスティングするのが難しすぎて困っています。とりあえず今できていることをメモです。こうした方が良いよ的なアドバイスがあったら教えて欲しいです。 ちなみに本当は昨日公開予定のブログでしたが、Xが急遽OGPに対する仕様を変えたのでそれを踏まえた新しいOGイメージでお送りします。 注意 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ この文章は PHP + Laravel歴 1週間ちょっとのペーペーによって書かれたものです。apache も fastcgi も初見です。書かれている内容を間に受けないでください。 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ tl;dr Docker で動かす最小構成がわからないのですが、とりあえずこう書けば動きはします。 FROM php:8.2-f

                                Laravel を Docker で動かしてホスティングするまで
                              • DockerでLaravel開発環境を手軽に構築する手順 - カゴヤのサーバー研究室

                                Laravel開発環境を、手間なく用意したいとお考えでしょうか。世界中に普及しているPHPフレームワーク「Laravel」は、Docker上で使うことも可能です。 Dockerを使えば他開発者とLaravel環境を共有したり、万が一環境に不具合が生じた際に作り直したりするのも手間がかかりません。 この記事では、Dockerを使ってLaravel開発環境を手軽に構築する手順を紹介します。 Laravelとは Laravel(ララベル)とは、マイクロソフトの.NET開発に携わっていたTaylor Otwell氏により開発されたPHP用のフレームワークです。オープンソースとして公開されており、初心者でも手軽に扱いやすいことから世界中に普及しています。Laravelは主にWebアプリケーション開発の現場で採用されており、実際にLaravelを用いて幅広い種類のアプリが開発されている状況です。 La

                                  DockerでLaravel開発環境を手軽に構築する手順 - カゴヤのサーバー研究室
                                • APIトークン認証の論理設計

                                  SPAやモバイルアプリから利用するAPIを開発する際の、トークン認証のお話です。 どの認証ライブラリを使うべきという話ではなく、トークン認証の論理的な設計について考察します。 私自身も結論が出ていないので、色んな意見が聞けると嬉しいです。 出発点 ユーザテーブルにアクセストークンを持つのが最も安直な発想だと思います。 ログイン成功時にアクセストークンを発行し、該当ユーザレコードにセット。 同時に有効期限もセットします。 認証時には、アクセストークンが存在し有効期限内であれば、認証を通過させ、 そうでなければ認証失敗とします。 ログアウト時には、該当ユーザレコードのアクセストークンを空にします。 発行日時を持ち、システム内に定義された有効期間をもとに、認証時に計算する方法もあると思います。 Laravel Sanctum 等はそういう実装です(しかもデフォルトでは有効期限なし)。 有効かどう

                                    APIトークン認証の論理設計
                                  • 後悔しない日付時刻・タイムゾーン設計と Laravel での実践法

                                    はじめに 最近 𝕏 で, Go のプロジェクトで起こっていたタイムゾーンに起因するトラブルをきっかけとして話を広げていったポストがありましたが,そのとき意外と反響がありました。 その一方で,時間をかけて設計された社内の PHP プロジェクトでは比較的トラブル少なく解決できているので,その知見を共有していこうと思います。 (将来的には Go のプロジェクトにも知見を応用できればいいなと考えています) データベースについて RDBMS の選定 さて,まず Laravel にフォーカスした話をする前に,データベース上での日付時刻のデータ型の選び方というアプローチからこの記事を書こうと思ったのですが,さらにその前に使用する RDBMS を決めなければなりませんね。 MySQL か Postgres を選ぶ状況が多いと思うので,この 2 つに絞って回答します。 Postgres を使ってください。

                                      後悔しない日付時刻・タイムゾーン設計と Laravel での実践法
                                    • PHP の Carbon をだいたい 3 倍くらい高速化した話 (または composer-patches の使い方) - COLOPL Tech Blog

                                      こんにちは。 Platform Engineer の工藤です。 今回は PHP で利用される日時ライブラリ nesbot/carbon の速度をだいたい 3 倍くらい高速化した話について紹介させていただきます。 nesbot/carbon について carbon.nesbot.com github.com nesbot/carbon は PHP で日付・時刻を扱うためのライブラリで、 PHP 標準の ext-date を拡張し、より利用しやすい形で提供してくれます。PHP のアプリケーションフレームワークで有名な Laravel でも標準で採用されており、昨今のプロジェクトだと基本入っている場合が多いと思います。 バージョンアップでパフォーマンスが悪化 便利な nesbot/carbon ですが、 Laravel 6 の EOL による Laravel 9 へのアップグレード対応の際、大幅

                                        PHP の Carbon をだいたい 3 倍くらい高速化した話 (または composer-patches の使い方) - COLOPL Tech Blog
                                      • Is Laravel the happiest developer community on the planet?

                                        Fathom Analytics CTO Jack Ellis decided to completely rewrite the company's codebase in 2019. Previously it was written in Go. Now it's written in PHP. That might be surprising given that Go is an increasingly popular language—part of a vanguard of relatively new programming languages like Rust, Swift, and Kotlin that have seen tremendous growth in recent years. PHP on the other hand, is often see

                                          Is Laravel the happiest developer community on the planet?
                                        • 「NativePHP」、PHPでデスクトップアプリを開発できるフレームワークが登場

                                          PHP言語を用いてデスクトップアプリケーションを開発可能にするフレームワーク「NativePHP」が登場しました。現在アルファ版として公開されています。 PHPランタイムとElectron/Tauriをバンドル NativePHPはHTML、CSS、JavascriptそしてPHPを用いてWindows、Mac、Linuxのクロスプラットフォームに対応したデスクトップアプリケーションを開発可能にするフレームワークです。 PHPランタイムと、アプリケーションからホストOSへアクセスするためのクラス群、Web技術でデスクトップアプリケーションを開発可能にするフレームワークであるElectronもしくはTauriをバンドルし、アプリケーションとしてビルドする機能を備えています。 現時点ではPHPのフレームワークとしてLaravelをベースにしていますが、特定のフレームワーク依存をなくしていく方向

                                            「NativePHP」、PHPでデスクトップアプリを開発できるフレームワークが登場
                                          • Laravel10日本語化のための4ステップ

                                            まずはデフォルトの設定から変更していきましょう。 ①デフォルトの設定を変更する app/config のapp.phpファイルを開き、86行目あたりのlocale を en から ja に変えておきます。 ちなみに、その下の ‘fallback_locale’は、設定したlocaleが使えなかった場合に使用する言語をいれます。こちらは、デフォルトの英語のままで良いでしょう。 さらにその下の ‘faker_locake’は、テスト用のフェイク(ダミー)データを作る時の言語を指定します。ここは ‘ja_JP’としておくと、日本語のダミーデータが作れます。

                                            • Laravel 11 is now released! - Laravel News

                                              { if (! this.initialized) { search.start(); this.initialized = true; } if (value) { setTimeout(() => { this.$el.querySelector('input').focus(); }, 100); } }); }, }" x-dialog x-model="searchModalIsOpen" x-cloak class="fixed inset-0 z-10" @keydown.slash.meta.window="searchModalIsOpen = !searchModalIsOpen" @keydown.k.meta.window="searchModalIsOpen = !searchModalIsOpen" @keydown.escape.window="searchM

                                                Laravel 11 is now released! - Laravel News
                                              • さくらのレンタルサーバでLaravelを動かす方法 | さくらのナレッジ

                                                Composerのインストール Laravelのインストールや管理にはComposerが必要なのでインストールを行います。 まず、SSHでさくらのレンタルサーバへログインします。 SSH を利用したい | さくらのサポート情報 ログインしたら「cd ~」でホームディレクトリに移動します。例えばユーザ名がabcなら/home/abcに移動します(pwdコマンドで確認できます)。そして「cd bin」でbinフォルダに移動します。 次にComposerをダウンロードします。以下のページからダウンロードに使用するコマンドを取得できます。 Download Composer Latest: v2.5.5 記事執筆時点では以下のようなスクリプトでした。 php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

                                                  さくらのレンタルサーバでLaravelを動かす方法 | さくらのナレッジ
                                                • 秒間 10,000 リクエストを "簡単に"いなすゲームサーバーを Laravel で作る設計

                                                  1秒間に PHP が受信する HTTP リクエストが最大 10,000 回以上——— そんな世界が存在します。その一つが 「ソーシャルゲーム」 です。メンテナンスが明けた瞬間、イベントが始まった・終わる瞬間、様々なタイミングでゲームサーバーは瞬間的に高負荷になります。もちろん、サービスをリリースし PR をたくさん出し始めたその瞬間が、プロジェクトで最も高負荷となるでしょう。それらに耐えうるサーバー構成が求められていますが、「リリース直後にサーバーがダウンした」「限定イベントが始まったらすぐ緊急メンテナンスが始まった」という話はちょくちょく聞こえてきます。その 瞬間的な高負荷(いわゆる "スパイク") に耐えるには、事前準備を怠らないことが重要です。 ソーシャルゲームにおいては、他の Web アプリケーションに比べ 書き込みヘビーなワークロード であることが多いです。読み込みは比較的簡単に

                                                    秒間 10,000 リクエストを "簡単に"いなすゲームサーバーを Laravel で作る設計
                                                  • 【朗報】Laravel の SQL 実行ログが取得しやすくなる - Qiita

                                                    先日の Taylor 氏の Tweet 数年越しに, toRawSql() メソッドが実装されたそうです! 🎉 何の話? コチラの記事にお世話になった人は大勢いるでしょう. Laravel では,実行(される|された)クエリを取得する方法は 3 つあります. Query Builder の toSql() メソッドを使う DB Facade(Database Connection) の DB::getQueryLog() メソッドを使う QueryExecuted::class Event の $sql プロパティを読み取る これらはどれも, ”完全な SQL クエリ” ではありませんでした. 例えば, toSql() が返すクエリは以下のようなものでした. $sql = User::query()->whereIn('id', [1, 2, 3])->toSql(); // "sele

                                                      【朗報】Laravel の SQL 実行ログが取得しやすくなる - Qiita
                                                    • レガシー回避のPHP開発術/avoid_php_legacy

                                                      PHPカンファレンス福岡2023

                                                        レガシー回避のPHP開発術/avoid_php_legacy
                                                      • PHP-ScoperでWordPressプラグインのコンフリクトを解決する – Capital P – WordPressメディア

                                                        PHPにはcomposerという高度なパッケージ管理ツールが存在しており、WordPressでもcomposerを利用した開発がさかんに行われている。しかし、ついにコンフリクトが発生するようになったため、その解決方法と知見を共有したい。本記事の対象読者は以下の通り。 プラグインを作成している。 テーマを開発しているがプラグインで問題が起きた。Uncaught Error: Call to undefined method GuzzleHttp\Utils::chooseHandler() と言われた。 開発者ではないユーザーにとっては、「そういうプラグインを使わない」という解決策しかないので、ご了承いただきたい。では、本題に入ろう。 なぜコンフリクトが発生するか composerは基本的に「プロジェクト単位で1つ」という暗黙の前提が存在するツールである。たとえばPHPのフレームワークLar

                                                          PHP-ScoperでWordPressプラグインのコンフリクトを解決する – Capital P – WordPressメディア
                                                        • Docker:Laravel9 + Nginx + MySQL + phpMyAdminで環境構築 - Qiita

                                                          この記事の目的 最近、爆速でLaravelの環境構築を行うためLaravel Sailがありますが、やはり自身の手でDockerfileからコンテナ環境を構築をしたいと思い、備忘録の意味も込めて記事にしてみました。 何かインフラ環境を構築している気分になれます。 構築するコンテナ nginx Laravel(PHP) MySQL phpMyAdmin 構成 ディレクト、ファイルの構成は以下の通りです。 dockerディレクトリ直下にnginx、phpのDockerfileを作成します。 MySQLとphpMyAdminのイメージはdocker Hubからプルしてきます。 コンテナ実行の定義は、docker-compose.ymlに記述します。 test ├── docker │ ├── nginx │ │ ├── Dockerfile │ │ ├── default.conf │ │ └─

                                                            Docker:Laravel9 + Nginx + MySQL + phpMyAdminで環境構築 - Qiita
                                                          • Laravel Viteを使ってTailwind CSSを導入する - RAKUS Developers Blog | ラクス エンジニアブログ

                                                            こんにちは。配配メール開発課のmoryosukeです。 最新のLaravelではデフォルトのフロントエンドビルドツールがLaravel MixからLaravel Viteへと移行しました。 そこでTailwind CSSをビルドする手順を追いながらLaravel Viteに慣れていこうと思います。 Laravel Viteとは 事前準備 プロジェクト作成 Tailwind CSSを導入する 補足 最後に Laravel Viteとは Laravel ViteはLaravel用の高速なフロントエンド・ビルドツールであり、JavaScript のパッケージマネージャである Vite を使用しています。Vite は、フロントエンドのアプリケーションを高速に開発するためのツールであり、Webpack よりも高速で、リアルタイムのホットリロードや開発時の最適化機能を提供しています。 Laravelの

                                                              Laravel Viteを使ってTailwind CSSを導入する - RAKUS Developers Blog | ラクス エンジニアブログ
                                                            • LaravelのMiddlewareはどのように動いているのか?

                                                              はじめに こちらの記事の続編で Laravel Breeze の Remember me 編を書こうとしていました。 その際にソースを追っかけていたのですが、Remember me について解説するためには、auth ミドルウェアを見る必要がありました。 そして、Middleware 見るためには Laravel の呼び出しライフサイクルから見ていく必要があったのですが、結果として Remember me よりも複雑でしたので別記事として公開することにしました。 なので、Remember me 編に入るまでにこちらの記事を読んでおくと、スムーズかと思います。 また内容が Laravel のコアな部分についてなので、つよつよ Laraveler 達に 「クソ記事」「こんな程度で技術記事書いてるとか」 みたいに叩かれそうで怯えながら公開したのですが、Twitter でびっくりするくらい沢山の良

                                                                LaravelのMiddlewareはどのように動いているのか?
                                                              • Laravelのマルチログインを図解しながら実装

                                                                LaravelのBreezeを利用して、マルチログインを実装していきます。 すでにBreezeを使ったユーザーログインができることを前提で話をすすめていきます。まだユーザーログインが実装出来ていない場合は、前回の記事を参考に実装しておいてください。 Laravel Breezeで「ユーザー登録・ログイン」認証機能を作る! 実装する環境としては以下のとおりです。 Laravel 10.x PHP 8.2 マルチログインということで、ユーザー認証に加えて、管理者(Admin)という概念を加えて管理者用のログインを実装していきます。 なので今回のマルチログインでは、以下の2つの認証が存在することになります。 ユーザーログイン 管理者ログイン それぞれ別のテーブルで、それぞれの人を管理していくイメージです。 今回作成するマルチログインの構成について まずマルチログインを実装するにあたって、先にどの

                                                                  Laravelのマルチログインを図解しながら実装
                                                                • 続Laravelにおけるパフォーマンス最適化のための18つのヒント - Qiita

                                                                  続Laravelにおけるパフォーマンス最適化のための18つのヒント 12 Tips for Laravel Performance Optimization in 2020を大いに参照した、上記のQiita記事を少し更新、改訂しました。 可能な限りLaravelの公式ドキュメントから抽出しています。 Laravelに関係ない一般的な項目も含まれます(無理やり18ヒントを捻り出している)。 対象となるLaravelのVersionは9.xです。 Laravel Mixに対する記述ありますが、最新はLaravel Viteです(Laravel Viteわからないですごめんなさい)。 間違い・勘違いなどがある場合は、コメントもしくは編集リクエストをいただけると助かります。 目次 構成キャッシング ルートキャッシング 未使用のサービスを削除 Composer最適化オートロード クエリ結果のキャッシ

                                                                    続Laravelにおけるパフォーマンス最適化のための18つのヒント - Qiita
                                                                  • PHPerKaigi 2023に3名のメンバーが登壇・プラチナスポンサーとして協賛しました - BASEプロダクトチームブログ

                                                                    懇親会で集合写真を撮るBASE株式会社メンバーの様子 こんにちは!桜が満開になり、心浮き立つお花見シーズンですね。 さて、この度は、2023/03/23(木)~2023/03/25(土)に開催された PHPerKaigi 2023 にプラチナスポンサーとして協賛し、3名のメンバーが登壇しました。 今回は、登壇者 3 名からコメントと、会場の様子やセッションについてお届けします! PHP カンファレンス 2023 とは 2023/03/23(木)~2023/03/25(土)の 3 日間にわたって PHPerKaigi 2023 が開催されました。 BASE はこれまでにも開催されている PHPerKaigi への登壇並びにスポンサードをコミュニティ貢献活動として行って参りました。 今回はプラチナスポンサーとして当カンファレンスに協賛しています。 プラチナスポンサー一覧の左下にBASE株式会社

                                                                      PHPerKaigi 2023に3名のメンバーが登壇・プラチナスポンサーとして協賛しました - BASEプロダクトチームブログ
                                                                    • History of Laravel - Qiita

                                                                      Laravel Advent Calendar 2020 - Qiita の 19日目 の記事です。 今回は個人的な興味本位も有り、Laravelの2011年のリリースからの歴史をネットから調べてまとめてみようと思います。 参考、引用した記事やページは最後にまとめてあります。 Laravelが生まれた背景 2011年当時、CodeigniterがPHPで使用される人気のフレームワークだったそうです。 ASP.netを業務で書いていたTaylor Otwellは、副業でPHPを触っており、Codeigniterを使っていました。 フレームワークの内部コードを操作せずに、必要なすべての機能を追加することが出来ないことを不便に思い、 よりシンプルで、より柔軟なものをという欲求からLaravelを自身で作り始めました。 Codeigniterを補完する気持ちがLaravelを生み出したようです。

                                                                        History of Laravel - Qiita
                                                                      • Laravelへの異常な愛情 または私は如何にして心配するのを止めてEloquentを愛するようになったか

                                                                        動画: https://youtu.be/QHjRGPw34EI?si=MWb-1v1i1S5MG0eE プロポーザル: https://fortee.jp/phperkaigi-2023/proposal/6211083d-fc51-49a3-8b27-485d8e231b1f

                                                                          Laravelへの異常な愛情 または私は如何にして心配するのを止めてEloquentを愛するようになったか
                                                                        • 重要なのは「基本を押さえ、適したものを採用すること」 “本来の役割”を押さえたアプリケーション設計

                                                                          今回はアプリケーションアーキテクチャを学ぶ最初の一歩として、「MVC」や「3 層アーキテクチャ」などの基本的な用語の意味や関係性を整理する「改めて整理するアプリケーション設計の基本」。ここで大嶋氏が登壇。最後に、本来のアクティブレコードの設計パターンと役割について整理します。前回はこちらから。 アクティブレコード系のO/Rマッパーを使用している場合のステップアップ方法 大嶋勇樹氏:次に「Controllerに全部書く」からのステップアップの例2を出していこうと思います。 (スライドを示して)今度はRuby on RailsやLaravelといった、アクティブレコード系のO/Rマッパーを使う例を考えてみようと思います。よくある苦しくなりやすい構成はこうなっています。 最近はやはりRailsやLaravelを使って開発している例も多いし、入門で勉強する方も多いのですが、このRails、Lara

                                                                            重要なのは「基本を押さえ、適したものを採用すること」 “本来の役割”を押さえたアプリケーション設計
                                                                          • ニコニコ動画のコメントサーバーを引っ越した時の話 - dwango on GitHub

                                                                            こんにちは。ニコニコ動画開発の多胡です。 今回は PHPerKaigi2023 向けの記事として、2021年に実施したニコニコ動画のコメントサーバーをお引越しした時のことを書いてみたいと思います。 文中の 5 つのフレーズをチャレンジトークンとしてみました。ぜひ探してみてください! (※ 記事の見出しにの横についている「#」はチャレンジトークンではありません。チャレンジトークンは文中に配置されています。紛らわしくてすみません!) 背景 実はニコニコ動画の #コメントサーバーを引っ越した のはこの時が二度目でした。 一度目は2014年から2016年にかけてのプロジェクトでファイルベースのシステムからの引っ越しでした。このファイルベースのシステムは、ニコニコ動画生誕当時から利用されており、当時のコメント参照や投稿にはすでに耐えられない状態になっていました。 そこで、このファイルベースのシステム

                                                                              ニコニコ動画のコメントサーバーを引っ越した時の話 - dwango on GitHub
                                                                            • Laravel 開発時にしておくと良い初期設定 - Qiita

                                                                              Laravel開発時にしておくと良い設定を紹介します! Model::shouldBeStrict() 結論、AppServiceProviderに下記のように記述しましょう! // 略 public function boot() { Model::shouldBeStrict(! $this->app->isProduction()); } // * Laravel 9.35で追加されたメソッドです // こうすることで開発環境でのみこの設定を有効にすることができます Model::shouldBeStrict()を追記すると以下のようなメリットがあります。 N+1問題が起きているとエラーで教えてくれる fillableに登録していない項目を投入しようとするとエラーで教えてくれる Eloquentモデルで存在しないプロパティやselectしていない項目にアクセスするとエラーで教えてくれ

                                                                                Laravel 開発時にしておくと良い初期設定 - Qiita
                                                                              • Laravel で Repository Pattern を採用を断念したときに考えたこと

                                                                                ここ最近、CodeIgniterを触ることが機会があったんですけど、やっぱりLaravelはいいなぁと思います。 昔に開発したプロジェクトのエンハンス案件で触れたんですけど、作りにもよるところは多いものの、保守性・拡張性がLaravelは圧倒している気がしています。コンセプトが互いに違うので、比べられるようなものでも無いような気がしますが。 というわけで、柄にもなく、雑記です。 直近、表題のことがあったので、備忘的にログっておきます。 きっかけ なんか Repository Pattern って良さそうじゃね? とあるSPA(Single Page Application)サービスで利用するデータリソースを提供するためのAPIサービスを、SPAサービスとは独立した環境下で構築するプロジェクト。 発端となったのは以下のような経緯でした。 原則『1エンドポイント:1モデル:1リソース』としたい

                                                                                  Laravel で Repository Pattern を採用を断念したときに考えたこと
                                                                                • Laravel開発をするならLaravel Ideaを使おう

                                                                                  こんにちは。 今回はPHPStormなどのJetbrains社のIDEで利用できるLaravel用の有料プラグインであるLaravel Ideaが結構いい感じなので軽く紹介。 年4,000円くらい掛かるので、正直手は出しにくいラインかと思いますが補完が強力なので、これくらいならいいかなといった感じ。一応、30日間のトライアルがあるのでそれを試してからでも。 インストール インストール自体は簡単で、Preferencesのプラグインの一覧にLaravel Ideaは存在します。 基本的には下のLaravel Queryの高機能版って感じで、私の記憶では一緒にインストールされた気がします。ぶつかったりはしないのでもし入ってなかったら両方入れるのがよろし。 強力な補完機能を使おう Laravel Ideaの個人的良いところはなんと言っても補完機能が強力なところです。(特にモデル) まず知らないと

                                                                                    Laravel開発をするならLaravel Ideaを使おう