オブジェクト指向構文の対策と有料問題集を一部紹介

オブジェクト指向構文の出題範囲

まず、PHP8技術者認定初級試験の勉強をする前に公式サイトに掲載の出題範囲を確認してみましょう。

2025年時点で、オブジェクト指向構文の出題率は、全体の17.5%とされています。40問のうち17.5%なので7問出題されるかどうかということです。最も出題率が高いだけでなく、難易度が高いため合否を左右するカテゴリーです。オブジェクト指向構文では、クラス、インスタンス、継承、カプセル化、多態性(ポリモーフィズム)、静的メンバー、トレイト、例外処理、オートローディング などの概念を理解し、適切に活用することが求められます。

- PHP 7.4.x から PHP 8.0.x への移行 -

オブジェクト指向構文に関する公式サイトの情報

オブジェクト指向構文では、何を問われるのでしょうか?公式サイトを確認すると、以下の情報があります。

  1. 主教材: 独習PHP 第4版(翔泳社)
  2. 公式問題集:PHP8技術者認定初級試験公式問題集A

ひとつ目の主教材は、1000ページ(電子版)もの情報が詰まった教科書です。二つ目は、40問を厳選した250ページ(電子版)ほどの問題集です。

いずれも公式教材なので、両方使うのがベストですが、教科書は網羅性が高い一方で情報量が多く、タイムパフォーマンスやアウトプット学習が少なくなるなどの面でデメリットがあります。

問題集は、試験対策用のアウトプットには適していますが、網羅性が低いという点でデメリットがあります。

両方の教材を購入すると網羅性は高まりますが、5,000円を超えるコストと大変な学習時間を必要としてしまいます。

すでに教材や問題集を使っている方は、イントロダクションの内容をじっくり確認してみてください。そうでない方のために、イントロダクションの内容を紹介します。

オブジェクト指向構文で問われる内容

前提として、当サイトでは主教材である「独習PHP 第4版(翔泳社)」やPHPマニュアルを読み込んだ上での見解をお伝えしています。

「オブジェクト指向構文」は、全カテゴリーの中で最も難易度が高く出題率が高い分野ですが、以下の内容を押さえた上で学習を進めると理解が早いです。

  • クラス・インスタンスの基本
  • コンストラクターとデストラクターの動作
  • 静的メンバー (static) の使い方
  • 継承 (extends) とオーバーライド
  • インターフェイス (interface) と抽象クラス (abstract) の違い
  • トレイト (trait) を活用したコード再利用
  • 例外処理 (throw, try~catch) の適切な使い方
  • オートローディング (spl_autoload_register(), Composer) の設定

例えば、以下のような基本的な内容は確実におさえておきましょう。

クラスとインスタンス

PHP では class を使用してクラスを定義し、インスタンスを生成してオブジェクト指向プログラミングを行う。

クラスの定義
                                        
class Person {
public string $name;
public int $age;
}
                                        
                                    
  • クラスは class キーワードを使って定義する。
  • プロパティには型を指定可能(PHP 7.4 以降)。
インスタンスの生成

$person = new Person();
$person->name = "Alice";
$person->age = 25;
                                    
  • new を使ってオブジェクトを作成。
コンストラクターとデストラクター

クラスのインスタンス化時や破棄時に自動的に実行される特殊なメソッド。

コンストラクター(__construct)

class User {
    public string $name;

    public function __construct(string $name) {
        $this->name = $name;
    }
}
                                    
  • クラスをインスタンス化するときに自動的に実行される。
デストラクター(__destruct)

class Logger {
    public function __destruct() {
        echo "ログを保存しました。";
    }
}

$user = new User("Bob");
                                    
  • オブジェクトが破棄されるときに自動的に実行される。
静的メンバー

静的プロパティやメソッドは static キーワードを使用し、インスタンスを作成せずに呼び出せる。

静的プロパティ

class Counter {
    public static int $count = 0;
}
                                    
  • クラスに属する変数で、インスタンスごとに異ならない。
静的メソッド

class Math {
    public static function add(int $a, int $b): int {
        return $a + $b;
    }
}

echo Math::add(5, 3); // 8
                                    
  • static キーワードをつけたメソッド。
  • インスタンスを作成せずに クラス名::メソッド() で呼び出す。

独学で学習される方へ

すでにエンジニアである方や他のプログラミング言語で開発経験がある方は、PHP8の学習にさほど苦労しないでしょう。

一方で、開発経験がない方が、主教材や問題集のみでPHP8の内容を深く理解し合格に至るのはとても困難です。

中には問題集や過去問に絞った薄っぺらい学習で合格点に至るケースもあるでしょうが、そのような勉強方法で合格しても何の役にも立たないでしょう。

何のためにPHPというプログラミング言語の試験を受けるのでしょうか?エンジニアを目指す方もいればより高い技術力を高めたいという方もいるでしょう。少なくとも、ただ合格するためだけではないはずです。

過去に私もそのような気持ちで試験を受けた経験があるのでよくわかります。合格はしましたが、大事なのはどのようなプロセスで勉強して合格するかです。そしてその後どのように活用するかです。試験のためだけの学習で終わっていたら、今のように次から次へと新たなサービスを開発して起業するといった状況にはなっていなかったでしょう。

試験はきっかけにすぎません。PHPの理解を深め、手を動かして開発してはじめて生きるのです。そうなるためにも学習を通じてPHPへの理解を深め、好奇心をもって手を動かして学んでみてください。

オブジェクト指向構文の有料問題を一部紹介

PHP8技術者認定初級試験学習サイトで用意している、オブジェクト指向構文の有料問題を一部紹介します。

有料問題の一部とサンプル問題をやってみて、PHP8技術者認定初級試験合格のための勉強に役立つと思ったら、ぜひ有料問題集にチャレンジにしてみてください。

PHP8技術者認定初級試験学習サイトの使い方

まずは、サンプル問題をやってみてください。

サンプル問題で要領を掴んだら、有料問題集にチャレンジしてみてください。

有料問題集を申し込んでいただくと、月額3,300円ですべての問題集をフル活用することができます。一度受験した経験がある方は、3ヶ月もあれば十分に学習できるでしょう。 初めてPHP8初級試験に臨むという方は、6〜12ヶ月を目安に学習してみましょう。勉強時間にすると1日30分として、90~180時間もあれば十分な実力がつくはずです。

じっくり勉強して理解を深めたり、上級試験やウェブデザイン技能検定1級などの難関試験に備えたいという方もいらっしゃるでしょう。 その場合は、年割りプランがおすすめです。2ヶ月分お得でじっくり1年間問題集をフル活用して本番に臨めます。

ぜひ、PHP8技術者認定初級試験学習サイトをフル活用して、PHP8技術者認定初級試験合格を勝ち取ってください!