むららら

webエンジニア | php | Laravel | まなびのあれこれ | しごとのあ…

むららら

webエンジニア | php | Laravel | まなびのあれこれ | しごとのあれこれ

記事一覧

Laravel学習記録 #038 クエリスコープを学ぶ

Laravelのスコープについて学習したことをまとめております。 クエリスコープとはEloquent ORMを使用してクエリを再利用可能にするための機能 ローバルスコープとローカ…

むららら
1日前
1

Laravel学習記録 #037 Gateを学ぶ

LaravelのGateについて学習したものをまとめています。 Gateとは認証済みユーザー権限など認可を判定する機能 App\Providers\AuthServiceProviderで定義される Gateファ…

むららら
8日前

Laravel学習記録 #036 クラスの定数定義を試す

Laravelでクラスの定数定義を試したものをまとめています。 「定数」の扱いをLaravelの標準機能を使ってconfigに設定することがありますが、configで定数を管理するのはな…

むららら
2週間前

Laravel学習記録 #035 JSON返却を学ぶ

LaravelのJSON返却について学習したものをまとめています。 LaravelでJSON形式で返却するにはいくつかの方法があるとのこと。 JSON返却の仕方jsonメソッドを使用する js…

むららら
3週間前
2

Laravel学習記録 #034 Hashファサードを学ぶ

LaravelのHashファサードについて学習したものをまとめています。 Hashファサードについてパスワードの安全な保存や検証を簡単に行うことができる 標準でBcryptおよびArg…

むららら
4週間前
2

Laravel学習記録 #033 routes/console.phpを学ぶ

Laravelの routes/console.php ついて学習したものをまとめています。 routes/console.phpって何?標準でインストール時にroutes/console.phpがあるが いまいちこのファイ…

むららら
1か月前

Laravel学習記録 #032 Like検索を学ぶ

LaravelでLike検索について学習したものをまとめています。 Like検索について(Eloquent、クエリビルダ)likeメソッドはないのでwhereメソッドにlikeを指定して使います。 …

むららら
1か月前
1

Laravel学習記録 #031 SQLインジェクション対策を学ぶ

LaravelでのCSRF対策について学習したものをまとめています。 SQLインジェクションについてSQL文の組み立てに問題がある場合に起こる可能性がある 悪意のあるユーザーに…

むららら
1か月前
2

Laravel学習記録 #030 CSRF対策を学ぶ

LaravelでのCSRF対策について学習したものをまとめています。 CSRFについてログイン機能のあるwebアプリケーションで発生しうる 認証済みユーザーに代わって不正なコマン…

むららら
1か月前
1

Laravel学習記録 #029 ミドルウェアを学ぶ

Laravelのミドルウェアについて学習したものをまとめています。 ミドルウェアについてHTTPリクエストを処理する際に前処理や後処理を含める グローバルミドルウェア: 全…

むららら
2か月前
2

Laravel学習記録 #028 ルーティングを学ぶ

Laravelのルーティング機能について学習したものをまとめています。 Laravelでのルーティングについてルーティングはルーティングファイルに記述する routesディレクトリ…

むららら
2か月前
2

Laravel学習記録 #027 独自認証を試して学ぶ

Laravelの認証機能について学習したものをまとめてます。 Laravel Breezeなどのスターターキットを使わずに独自でログイン機能を作成してみます。 独自のログイン機能を作…

むららら
2か月前
3

Laravel学習記録 #026 認証について学ぶ

Laravelの認証機能について学習したものをまとめてます。 認証機能についてLaravelの認証機能は「ガード」と「プロバイダ」で構成される ガードは、ユーザーがアプリケー…

むららら
2か月前
5

Laravel学習記録 #025 メール送信について学ぶ

Laravelのメール送信について学習したものをまとめてます。 Laravelでのメール送信標準でSMTPなどを介して電子メールを送信するためのドライバーが多数用意されている co…

むららら
3か月前
1

Laravel学習記録 #024 自動テスト(DBを使ったケース)について学ぶ

Laravelの自動テストについて学習したものをメモ程度にまとめてます。 今回はDBのデータを使って試す編です。 前提として、 以前の記事でやったように、マイグレーション…

むららら
3か月前
3

Laravel学習記録 #023 自動テスト(単体テスト作成)について学ぶ

Laravelの自動テストについて学習したものをメモ程度にまとめてます。 今回はテスト単体テスト作成編です。 テストファイル作成以下のコマンドでテストファイルを作成しま…

むららら
3か月前
3
Laravel学習記録 #038 クエリスコープを学ぶ

Laravel学習記録 #038 クエリスコープを学ぶ

Laravelのスコープについて学習したことをまとめております。

クエリスコープとはEloquent ORMを使用してクエリを再利用可能にするための機能

ローバルスコープとローカルスコープの2種類がある

グローバルスコープは特定のモデルに対する全てのクエリに適用

ローカルスコープは明示的に呼び出されたクエリにのみ適用

グローバルスコープ

特定のモデルに対する全てのクエリに適用することが

もっとみる
Laravel学習記録 #037 Gateを学ぶ

Laravel学習記録 #037 Gateを学ぶ

LaravelのGateについて学習したものをまとめています。

Gateとは認証済みユーザー権限など認可を判定する機能

App\Providers\AuthServiceProviderで定義される

Gateファサードを使用してAuthServiceProviderのbootメソッド内で定義

Gateを試してみるGate定義

認可タイプとして、roleが1,2の場合ならOKのものと3であ

もっとみる
Laravel学習記録 #036 クラスの定数定義を試す

Laravel学習記録 #036 クラスの定数定義を試す

Laravelでクラスの定数定義を試したものをまとめています。

「定数」の扱いをLaravelの標準機能を使ってconfigに設定することがありますが、configで定数を管理するのはなぁ。。て時の別案です。
専用にクラスを作成し、定数を管理します。

定数クラスを試すクラス作成

app配下にConstsディレクトリを作成し、専用のクラスを配置します。
クラスのメンバ変数として定数を定義します

もっとみる
Laravel学習記録 #035 JSON返却を学ぶ

Laravel学習記録 #035 JSON返却を学ぶ

LaravelのJSON返却について学習したものをまとめています。

LaravelでJSON形式で返却するにはいくつかの方法があるとのこと。

JSON返却の仕方jsonメソッドを使用する

jsonメソッドを使用することで、配列をJSONへ変換できます。
ドキュメントにも以下のように説明されています。

public function index() { $data = [

もっとみる
Laravel学習記録 #034 Hashファサードを学ぶ

Laravel学習記録 #034 Hashファサードを学ぶ

LaravelのHashファサードについて学習したものをまとめています。

Hashファサードについてパスワードの安全な保存や検証を簡単に行うことができる

標準でBcryptおよびArgon2(argon, argon2id)の2種類

Hashファサードのmakeメソッドでパスワードを生成

Hashファサードのcheckメソッドでパスワードを検証

試してみる簡単にパスワードの生成と検証を行

もっとみる
Laravel学習記録 #033 routes/console.phpを学ぶ

Laravel学習記録 #033 routes/console.phpを学ぶ

Laravelの routes/console.php ついて学習したものをまとめています。

routes/console.phpって何?標準でインストール時にroutes/console.phpがあるが
いまいちこのファイル使い道がわからず
今まで見て見ぬふりしてました。

このファイルに定義することで
artisanコマンドで呼べる処理を登録できるらしいです。

初期では以下が定義されてます

もっとみる
Laravel学習記録 #032 Like検索を学ぶ

Laravel学習記録 #032 Like検索を学ぶ

LaravelでLike検索について学習したものをまとめています。

Like検索について(Eloquent、クエリビルダ)likeメソッドはないのでwhereメソッドにlikeを指定して使います。
通常のSQL同様「%」がワイルドカードです。

$results = Hoge::where('column', 'like', '%keyword%')->get();

検索するキーワードにワイル

もっとみる
Laravel学習記録 #031 SQLインジェクション対策を学ぶ

Laravel学習記録 #031 SQLインジェクション対策を学ぶ

LaravelでのCSRF対策について学習したものをまとめています。

SQLインジェクションについてSQL文の組み立てに問題がある場合に起こる可能性がある

悪意のあるユーザーにデータベースを不正利用されてしまう

データの盗み出し、データベースの変更など被害はさまざま

ざっくり攻撃の流れ① 攻撃者がウェブアプリケーションの入力フォームやURLパラメータに不正なSQLクエリを入れます。

もっとみる
Laravel学習記録 #030 CSRF対策を学ぶ

Laravel学習記録 #030 CSRF対策を学ぶ

LaravelでのCSRF対策について学習したものをまとめています。

CSRFについてログイン機能のあるwebアプリケーションで発生しうる

認証済みユーザーに代わって不正なコマンドを実行するサイバー攻撃

不正なリンクを踏ませることで、利用者が操作したかのようになる

不正な送金やパスワード、ユーザーの変更など身に覚えのないことが行われてしまう。

ざっくり攻撃の流れ①太郎くんがWEBアプリに

もっとみる
Laravel学習記録 #029 ミドルウェアを学ぶ

Laravel学習記録 #029 ミドルウェアを学ぶ

Laravelのミドルウェアについて学習したものをまとめています。

ミドルウェアについてHTTPリクエストを処理する際に前処理や後処理を含める

グローバルミドルウェア: 全てのリクエストに適用される。

ルートミドルウェア: 特定のルートにのみ適用される。

グループミドルウェア: グループに適用される。

ミドルウェアを使ってみるグローバルミドルウェアとしてログの出力ミドルウェアを例に作成し

もっとみる
Laravel学習記録 #028 ルーティングを学ぶ

Laravel学習記録 #028 ルーティングを学ぶ

Laravelのルーティング機能について学習したものをまとめています。

Laravelでのルーティングについてルーティングはルーティングファイルに記述する

routesディレクトリ内のweb.phpやapi.phpなどのファイルに定義

web.phpはWebアプリケーション用、api.phpはAPI用のルーティング

HTTPメソッドに応じてリクエストを処理

特定のURIへのリクエストを対

もっとみる
Laravel学習記録 #027 独自認証を試して学ぶ

Laravel学習記録 #027 独自認証を試して学ぶ

Laravelの認証機能について学習したものをまとめてます。
Laravel Breezeなどのスターターキットを使わずに独自でログイン機能を作成してみます。

独自のログイン機能を作成してみる独自のと言っても、Laravelに備わった機能の範囲で実現します。
・認証テーブルをusersではなくaccountsにする
・emailの代わりに、アカウントIDにする
・パスワードはLaravel標準の

もっとみる
Laravel学習記録 #026 認証について学ぶ

Laravel学習記録 #026 認証について学ぶ

Laravelの認証機能について学習したものをまとめてます。

認証機能についてLaravelの認証機能は「ガード」と「プロバイダ」で構成される

ガードは、ユーザーがアプリケーションにアクセスするたびに、そのユーザーが認証されたユーザーであることを確認する方法

プロバイダは、データベースなどの永続ストレージからユーザーを取得する方法

config/auth.phpで設定可能

スターターキッ

もっとみる
Laravel学習記録 #025 メール送信について学ぶ

Laravel学習記録 #025 メール送信について学ぶ

Laravelのメール送信について学習したものをまとめてます。

Laravelでのメール送信標準でSMTPなどを介して電子メールを送信するためのドライバーが多数用意されている

config/mail.phpに設定がある

メールの内容や送信先などをカスタマイズするためにはMailableクラスを使う

メール送信はファサードを介して行う

試してみるローカルの確認のためmailtrapというサ

もっとみる
Laravel学習記録 #024 自動テスト(DBを使ったケース)について学ぶ

Laravel学習記録 #024 自動テスト(DBを使ったケース)について学ぶ

Laravelの自動テストについて学習したものをメモ程度にまとめてます。
今回はDBのデータを使って試す編です。

前提として、
以前の記事でやったように、マイグレーションを行わずDBを複製している程でいきます。

DBを使ったテストケース例メソッドにテストデータ挿入から確認までをまとめる例を考えます。

「インフォメーションテーブルにお知らせが登録されていれば表示する。」
という仕様を例にして作

もっとみる
Laravel学習記録 #023 自動テスト(単体テスト作成)について学ぶ

Laravel学習記録 #023 自動テスト(単体テスト作成)について学ぶ

Laravelの自動テストについて学習したものをメモ程度にまとめてます。
今回はテスト単体テスト作成編です。

テストファイル作成以下のコマンドでテストファイルを作成します。

tests/Featureディレクトリに作成

php artisan make:test HogeTest

tests/Unitディレクトリに作成

php artisan make:test HogeTest --u

もっとみる