2

私は先週からPHP開発を始めたばかりです。PCにXAMPPをインストールしました。次のようないくつかの質問を知りたいだけです。

  1. PHPフォルダー内にあるPEARフォルダーの目的は何ですか?
  2. PHPでポリモーフィズムを実装するにはどうすればよいですか?
4

2 に答える 2

2

PEARパッケージはgzip圧縮されたtarファイルとして配布されます。各アーカイブは、通常はオブジェクト指向スタイルでPHPで記述されたソースコードで構成されています。多くのPEARパッケージは、PHPの単純なincludeステートメントを介して、通常のサードパーティコードとして開発者が簡単に使用できます。よりエレガントには、デフォルトでPHPに付属しているPEARパッケージマネージャーを使用してPEARパッケージをインストールし、パッケージによって提供される追加機能がPHPインストールの統合された部分として表示されるようにすることができます。PEARがモデルとして採用したComprehensivePerlArchive Network(CPAN)アーカイブとは異なり、PEARパッケージには暗黙的な依存関係がないため、PEARパッケージツリーでのパッケージの配置はコードの依存関係に関係しません。むしろ、PEARパッケージは、他のPEARパッケージへのすべての依存関係を明示的に宣言する必要があります。

PEAR基本クラスには、オブジェクト指向のデストラクタと一貫したエラー処理をシミュレートするためのコードが含まれています。パッケージは、認証、キャッシュ、データベースアクセス、暗号化、構成、HTML、Webサービス、XMLなどの多くの基本的なPHP機能用に存在します。

http://en.wikipedia.org/wiki/PEAR

于 2012-09-18T10:32:35.033 に答える
1

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以降、ポリモーフィズムに特性を使用することもできます。

于 2012-09-18T10:45:02.903 に答える