Laravel

1/2ページ
Laravelに関する発信をします。

【Laravel】ルートパラメータの使い方

今回はURLに変数を埋め込む「ルートパラメータ」の使い方を解説します! ルートパラメータの使い方 座学よりも前に早速実践の中で使い方を見ていきましょう。 今回はゴールとして会員登録しているあらゆるユーザーのプロフィール画面を表示することを目標にします。 (今回は事前にユーザーのデータを10件Seederで作成してあります。) ダメな例 最初にダメな例として静的な方法をご紹介して、後から理想的な方法 […]

【Laravel】Factoryで例外を作るやつ

Laravelで一部、こっちが指定した情報でデータを作成してほしいことがあったので、Factoryに例外を作成する方法をご紹介します。 今回は「メール確認が終了していないユーザーを作成する」という趣旨で作成します。 Factoryを修正 Factoryファイルのdefinitionメソッドを普通に埋めた後に、新しくメソッドを作成しましょう。 名前は分かり易ければなんでもOKです👍 例外のFacto […]

LaravelでSeeder+Factoryの使い方

Laravelで開発していて、SeederとFactoryの使い方でこんがらがったので、整理しました👍 用意するもの 以下は新しく作成するときに必要なファイルです。 modelファイル migrationファイル Seederファイル Factoryファイル 簡単に用意する方法 上記4枚のファイルをartisanを使って簡単に作成する方法があります。 artisanでmodelを作成します。 「- […]

Requestコントローラのauthorizeメソッドとrulesメソッド

Formのバリデーションを管理するのに便利なRequestコントローラなるものがある。 今回はそれを扱う。 Requestコントローラ 以下のartisanコマンドを実行すると、form requestを作成することが出来る。 このコマンドを実行すると、StorePostRequest.phpファイルがapp/Http/Requestsディレクトリに作成される。 ※app/Http/Request […]

Laravelのroutesのas、prefix、namespaceについて

Laravelのroutesにはasとprefix、そしてnamespaceがある。 初学者の僕にとっては、それぞれ機能が似ているから少し整理したいと思う。 namespaceについて namespaceはpath内のcontrollerがある場所を省略orまとめることができる。 以下が例。 このように新規登録周りについて、上記のようなroutesが書かれている。 これらroutesはcontro […]

LaravelのFormでmethodを変える方法

表題の通り。 HTTPメソッドは本来11種類あって、用途に応じてこれらを使い分ける。 しかしHTMLのformタグでは「get」「post」の2種類のメソッドしか取り扱っていない。 デフォルト以外のでやりとりするために、Laravelでは(?、他でも使えるかも)以下の方法でメソッドを変更することができる。 Laravel固有の方法 Laravel固有のタグ(?)を使う方法。 多くの教材はこちらの方 […]

【Laravel】EventとListenerについて

仕事で既存の機能に新しい機能を追加しようと思っていた時に、既存の機能に「Event」などとこうものがあった。 初めて聞いた用語だったので、どのようなものなのか調べてみた。 Eventに対してListener 僕が見たコードはEventしかなかったが、実はこのEventというのはListenerというヤツとセットになっている。 一心同体である。 簡単に言うと、Eventはイベント発火の「合図」の役割 […]

【Laravel】migrationでtableを削除する

LaravelにはmigrationというDBを管理できる、DBのバージョン管理のようなサポート(≒機能)があります。 これはLaravelのSchemaファサードに属しており、(Laravelが対応する)全てのDBシステムに対してtableを作成・操作するため、特定のDBに依存しないサポートを提供します。 migrationは通常このFacadeを使用して、DBのtableとcolumnを作成・ […]

LaravelのMass Assignmentとは

Mass Assignment(マスアサインメント)とは コンピュータ脆弱性の1つ。本来権限を持っていないユーザー(や悪意ある第三者)によってデータ項目を変更されること。 通常はWebサイトにあるフォームからデータをやりとりすることを想定しているが、(例えば開発者ツールなどを使って)そのフォームのname属性を改変し(例えばname=’password’などとし)それをフォ […]