PHP

PHP

【PHP】PHPからMySQLに接続する:PDOの基本

こんにちは、かつコーチです。前回まででトレイトを扱い、PHPのオブジェクト指向まわりは一通り触れてきました。今回からは新しいテーマ、「データベース」に入っていきます。PHPだけでどれだけ動的なページを作れても、会員情報や投稿内容を保存する場...
PHP

【PHP】PHPのトレイト(trait)で複数クラスに機能を共有する方法

こんにちは、かつコーチです。前回は静的メソッド・静的プロパティ(static)について解説しました。今回でオブジェクト指向シリーズはひと区切りです。最後に扱うのは「trait(トレイト)」という、Laravelを学ぶ上でも避けて通れない仕組...
PHP

【PHP】PHPの静的メソッド・静的プロパティ(static)とは

こんにちは、かつコーチです。前回はアクセス修飾子(public / protected / private)について解説しました。今回は、オブジェクト指向でよく登場するもう1つのキーワード「static」を扱います。Laravelのコードを...
PHP

【PHP】PHPのアクセス修飾子(public/protected/private)の使い分け

こんにちは、かつコーチです。前回は継承とインターフェースについて解説しました。ここまでの記事のコード例では、プロパティやメソッドにさりげなく public というキーワードを付けてきました。今回は、この public を含めたアクセス修飾子...
PHP

【PHP】PHPの継承・インターフェースをわかりやすく解説

こんにちは、かつコーチです。前回はクラスとインスタンスの基本を扱いました。「クラスは設計図、インスタンスはその実体」という考え方には慣れてきたでしょうか。今回は、クラスをさらに便利に使うための「継承」と「インターフェース」を解説します。似た...
PHP

【PHP】PHPのオブジェクト指向入門:クラスとインスタンスの基本

こんにちは、かつコーチです。久しぶりにPHPの話題を取り上げます。前回は名前空間(namespace)とautoloadの基本を扱いました。今回からいよいよ「オブジェクト指向」に入っていきます。PHPを勉強していると、必ずどこかで「クラス」...
Laravel

【Laravel】Request Durationの許容範囲について解説

こんにちは、かつコーチです。Laravelで開発していると、データの取り出しが多くなったり、複雑になるとパフォーマンスに影響してくることがあります。表示が遅いなーと思うことも出てきますが、具体的にどのくらいの速さ以内なら良いのかを調べてみま...
Laravel

【Laravel】Laravelでファイルを扱う際のパターン集

こんにちは、かつコーチです。Laravelにおけるファイルアップロードは、フロントエンドとバックエンドの組み合わせによって異なる実装パターンがあります。それぞれのフレームワークやライブラリでの実装方法と、それぞれの特徴・注意点について解説し...
Laravel

【Laravel】LengthAwarePaginatorについて解説

こんにちは、かつコーチです。LaravelでPaginationするときは、通常paginateを利用します。しかし、その他にも特殊なものがあります。集計したものを一覧で表示するときのpaginateは通常のもので動作するのか。。。そんなと...
PHP

【PHP】PHPの名前空間(namespace)とautoloadの基本

こんにちは、かつコーチです。前回はtry-catchによる例外処理を解説し、独自の例外クラスを作る方法にも触れました。クラスの数が増えてファイルを分割するようになると、次にぶつかるのが「クラス名の衝突」と「ファイルの読み込み管理」という問題...
PHP

【PHP】PHPのエラーハンドリング:try-catchで例外処理を書く方法

こんにちは、かつコーチです。前回は正規表現でパターンマッチングを行う方法を解説しました。今回は、プログラムの実行中に想定外のエラーが起きたときに備える「例外処理」を扱います。正規表現やファイル操作、後々学ぶデータベース接続など、外部の要因で...
PHP

【PHP】PHPの正規表現入門:preg_match・preg_replaceの使い方

こんにちは、かつコーチです。前回はファイルの読み書きを扱いました。今回は、文字列のパターンマッチングに使う「正規表現」を解説します。「なんだか記号だらけで難しそう」と敬遠されがちなテーマですが、入力チェックやデータの抽出など、実務での出番が...
PHP

【PHP】PHPでファイルを読み書きする方法:fopen・file_get_contentsの使い方

こんにちは、かつコーチです。前回はブラウザ側にデータを保存する「クッキー」を扱いました。今回は視点を変えて、サーバー側の「ファイル」にデータを保存したり、読み込んだりする方法を解説します。ログを記録したり、簡易的な設定ファイルを読み込んだり...
PHP

【PHP】PHPのクッキー(setcookie)の使い方と注意点

こんにちは、かつコーチです。前回は session_start を使ったセッションによるログイン状態の保持を解説しました。セッションはサーバー側にデータを保存する仕組みでしたが、今回はブラウザ側にデータを保存する「クッキー(Cookie)」...
PHP

【PHP】PHPのセッション(session_start)でログイン状態を保持する方法

こんにちは、かつコーチです。前回は $_GET・$_POST でフォームの値を受け取る方法を解説しました。今回は、その続きとして「ログインしたあと、ページを移動してもログイン状態が保たれる仕組み」であるセッションを解説します。前回学んだ $...
PHP

【PHP】PHPで_GET・_POSTを使ってフォームの値を受け取る方法

こんにちは、かつコーチです。前回はDateTimeクラスで日付・時刻を扱う方法を解説しました。今回は、PHPでWebアプリケーションを作るうえで避けて通れない「フォームから送られてきた値を受け取る」方法を解説します。お問い合わせフォーム、検...
PHP

【PHP】PHPで日付・時刻を扱う:DateTimeクラスの基本

こんにちは、かつコーチです。前回は文字列操作の関数をまとめて解説しました。今回は、投稿日時の表示や会員登録日の記録など、Webアプリケーションでほぼ必ず登場する「日付・時刻」の扱い方を解説します。PHPには古くからある date() 関数と...
PHP

【PHP】PHPの文字列操作関数まとめ:strlen・substr・str_replaceの使い方

こんにちは、かつコーチです。前回は require と include の違いを解説しました。今回は、PHPでファイルを読み込んで処理を組み立てていくうえで避けて通れない、文字列操作の関数をまとめて解説します。会員登録フォームの入力チェック...
PHP

【PHP】require・require_once・include・include_onceの違いを徹底解説

こんにちは、かつコーチです。前回は無名関数・クロージャを解説しました。今回は、PHPで別のファイルを読み込むときに必ず出てくる4つの命令、require・require_once・include・include_once の違いを解説します...
PHP

【PHP】PHPの無名関数・クロージャ(use)をわかりやすく解説

こんにちは、かつコーチです。前回はデフォルト引数と可変長引数を使って、関数の引数をより柔軟に扱う方法を解説しました。今回は少しレベルを上げて、「名前を持たない関数」である無名関数と、そこから発展したクロージャを扱います。最初は「なぜ名前をつ...