私は先週からPHP開発を始めたばかりです。PCにXAMPPをインストールしました。次のようないくつかの質問を知りたいだけです。
- PHPフォルダー内にあるPEARフォルダーの目的は何ですか?
- PHPでポリモーフィズムを実装するにはどうすればよいですか?
私は先週からPHP開発を始めたばかりです。PCにXAMPPをインストールしました。次のようないくつかの質問を知りたいだけです。
PEARパッケージはgzip圧縮されたtarファイルとして配布されます。各アーカイブは、通常はオブジェクト指向スタイルでPHPで記述されたソースコードで構成されています。多くのPEARパッケージは、PHPの単純なincludeステートメントを介して、通常のサードパーティコードとして開発者が簡単に使用できます。よりエレガントには、デフォルトでPHPに付属しているPEARパッケージマネージャーを使用してPEARパッケージをインストールし、パッケージによって提供される追加機能がPHPインストールの統合された部分として表示されるようにすることができます。PEARがモデルとして採用したComprehensivePerlArchive Network(CPAN)アーカイブとは異なり、PEARパッケージには暗黙的な依存関係がないため、PEARパッケージツリーでのパッケージの配置はコードの依存関係に関係しません。むしろ、PEARパッケージは、他のPEARパッケージへのすべての依存関係を明示的に宣言する必要があります。
PEAR基本クラスには、オブジェクト指向のデストラクタと一貫したエラー処理をシミュレートするためのコードが含まれています。パッケージは、認証、キャッシュ、データベースアクセス、暗号化、構成、HTML、Webサービス、XMLなどの多くの基本的なPHP機能用に存在します。
PHPでポリモーフィズムを実装するには、インターフェースと抽象クラスを使用できます。
interface Shape{
public function getArea();
}
class Circle implements Shape{
...
}
abstract class Polygon implements Shape{
...
}
class Square extends Polygon{
...
}
実際のところ、PHPでの型チェックは厳密ではありません。また、変数の型を宣言する必要はありません。次に、任意のオブジェクトで任意の関数を呼び出すことができます(ただし、エラーが発生しやすく、エレガントではありません)。前の例では、クラスがShapeインターフェイスを実装していない場合でも、「Square」または「Circle」インスタンスで「getArea」を呼び出すことができます。
編集:PHP 5.4以降、ポリモーフィズムに特性を使用することもできます。