オブジェクト指向の欠如とその後の改善
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/16 08:03 UTC 版)
「Drupal」の記事における「オブジェクト指向の欠如とその後の改善」の解説
Drupalはもっぱら、オブジェクト指向プログラミング (OOP) ではなく、手続き型プログラミングが用いられる。DrupalはいくつかのOOPの特徴に近づけてはいるが、OOP自体の欠如は以下のことをもたらす。 基礎をなすプログラミング言語システムによって強化されたカプセル化がない。これはプライベート・データの使用を排除し、名前空間分離の存在しない実施をもたらす。名前空間の分離がないため、インストールされたモジュールやテーマでのあらゆる関数や変数が、その他のインストールされたモジュール、インストールされたテーマ、あるいはDrupalコアにおけるその他の関数や変数の名前と同じ場合、「死の白画面」(en:white screen of death)を含む重大なエラーを起こす可能性がある。 オブジェクトの継承が「弱い」ためコードの再利用があまり効率的ではなく、多態性はレンダリング層でのみ近づけられる。 バージョン8でコアのバッグエンドにオブジェクト指向の Symfony ライブラリが導入された。 Drupalの擁護論者は、PHPのOOP言語機能は直接実装されていない(PHPバージョン4.xとの互換性を保証するため)にもかかわらず、OOPとアスペクト指向プログラミング(AOP)の原則がDrupalの設計には存在すると反証する。これはDrupalコアの将来のバージョンに移行するのに役立つが、それはバージョン7を皮切りに、PHP5によって提供されるOOPを活用し始めるであろう。Drupal 7は以前のPHPリリースと後方互換ではなくなるであろう。
※この「オブジェクト指向の欠如とその後の改善」の解説は、「Drupal」の解説の一部です。
「オブジェクト指向の欠如とその後の改善」を含む「Drupal」の記事については、「Drupal」の概要を参照ください。
- オブジェクト指向の欠如とその後の改善のページへのリンク