PHP

【PHP】MVCとは何か?素のPHPで感じる限界

こんにちは、かつコーチです。前回は、このシリーズで扱ってきたテーマの中から、よくあるつまずきポイントをQ&A形式で振り返りました。ここからは「設計」というテーマに入っていきます。PHPを学んでいると、必ずと言っていいほど「MVC」という言葉...
PHP

【PHP】PHPのよくあるつまずきポイントQ&A集

こんにちは、かつコーチです。前回は、var_dumpやprint_r、Xdebugを使ったデバッグの方法を解説しました。今回はこのPHP基礎編シリーズの総復習も兼ねて、これまで扱ってきたテーマの中で、初心者がよくつまずくポイントをQ&A形式...
PHP

【PHP】var_dump・print_rでのデバッグ方法とXdebugの導入

こんにちは、かつコーチです。前回は、PHPのバージョンアップで起きやすい非互換エラーとその対処法を解説しました。今回は少し話題を変えて、「デバッグ」について取り上げます。コードが思った通りに動かないとき、皆さんはどうやって原因を探しています...
PHP

【PHP】PHPのバージョンアップで起きやすい非互換エラーとその対処法

こんにちは、かつコーチです。前回はComposerの基本を解説しました。Composerでパッケージを管理するようになると、避けて通れないのが「PHPのバージョンアップ」への対応です。サーバーのPHPバージョンが上がった途端、昨日まで動いて...
PHP

【PHP】Composerとは?PHPのパッケージ管理を理解する

こんにちは、かつコーチです。前回はPHPの文字化け対処法としてmb_convert_encodingの使い方を解説しました。今回は少し毛色を変えて、PHP開発を続けていくと必ず名前を聞くことになるComposer(コンポーザー)について解説...
PHP

【PHP】PHPの文字化け対処法:mb_convert_encodingの使い方

こんにちは、かつコーチです。前回は「ファイルが見つかりません」エラーの原因と対処法を扱いました。今回は、日本語を扱うPHP開発でほぼ全員がぶつかる「文字化け」について解説します。画面に「縺薙s縺ォ縺。縺ッ」のような意味不明な文字列が表示され...
PHP

【PHP】「ファイルが見つかりません」エラーの原因と対処法

こんにちは、かつコーチです。前回はNotice・Warning・Fatal Errorといった、エラーの「レベル」の違いを解説しました。今回はその中でも初心者が本当によく遭遇する、次のようなエラーを深掘りします。Warning: requi...
PHP

【PHP】PHPのNotice・Warning・Fatal Errorの違いと読み方

こんにちは、かつコーチです。前回まで、素のPHPでデータベースに接続する方法を扱ってきました。mysqliやPDOでコードを書いていると、赤い文字や見慣れない英語の羅列が画面にドバッと表示されて、心が折れそうになった人も多いのではないでしょ...
PHP

【PHP】PHPでのDB接続、なぜこれが大変なのか

こんにちは、かつコーチです。前回の記事で、PHPだけを使って登録・一覧・更新・削除のCRUD処理を一通り実装しました。たった1つのusersテーブルを操作するだけなのに、db.php・insert.php・list.php・update.p...
PHP

【PHP】PHPだけでCRUD処理を実装してみる(登録・一覧・更新・削除)

こんにちは、かつコーチです。ここまでの3回で、PDOでのMySQL接続・データ取得・プリペアドステートメントによる安全なSQLの書き方を学んできました。今回はそれらを組み合わせて、Webアプリの基本であるCRUD処理を、PHPだけで一通り実...
PHP

【PHP】プリペアドステートメントでSQLインジェクションを防ぐ方法

こんにちは、かつコーチです。前回まで、固定のSQL文をPDOで実行してデータを取得する方法を見てきました。ですが実際のアプリでは、フォームから送られてきたユーザーの入力値をSQLに組み込む場面がほとんどです。このとき書き方を間違えると、SQ...
PHP

【PHP】PDOでSQLを実行してデータを取得する方法

こんにちは、かつコーチです。前回の記事で、PDOを使ってMySQLに接続できるようになりました。接続できただけではまだ何もできないので、今回は実際にSQL文を実行して、sample_dbのusersテーブルからデータを取り出してみましょう。...
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を勉強していると、必ずどこかで「クラス」...
JavaScript

【TypeScript基礎学習5】関数の型について理解する

こんにちは、かつコーチです。TypeScriptでは、関数の型定義は非常に重要で、関数の引数や戻り値に対して正確な型注釈を行うことで、型安全性を保ちながらコードを書くことができます。ここでは、TypeScriptにおける関数の型に関連する詳...
JavaScript

【TypeScript基礎学習4】関数の作り方について理解する

こんにちは、かつコーチです。プログラミングにおいて関数はとても重要な項目です。TypeScriptでは、関数の作成方法や型定義について強力な機能が提供されており、型安全なコードを書くことができます。ここでは、関数の基本的な作成方法から、関数...