-1

zendライブラリを開くと、Aclという名前のフォルダとAcl.phpが表示されます。これは、Zendの他のライブラリにも当てはまります。なぜゼンドがそうしているのだろうか?この背後にある論理は何ですか?

4

2 に答える 2

4

これは次の理由によるものです。

  1. クラスの命名規則
  2. クラス<->ファイル名(パス)関係の規則

他のクラスに関連するクラスがある場合は、それに応じて名前を付けるのが論理的です。たとえばZend_Form_ElementZend_Form

これで、クラス名とファイル名/パスの関係に到達しました。_ルールは単純なので、クラス名を/ファイルパスに置き換えると、次のようになります。

Zend_Form-> Zend/Form(.php)

Zend_Form_Element-> Zend/Form/Element(.php)

これは、ファイルForm.phpとディレクトリを取得する方法ですForm

于 2012-05-09T11:14:57.013 に答える
3

そうするので、コードを書く必要はありませんrequire_once'Zend/Acl.php'

Zendは、オートローダーをsplオートローダースタックに登録します。あなたがするとき

$acl = new Zend_Acl();

を必要としないか、含める必要はありません。PHPは、ZendオートローダーにクラスZend_Aclの定義が見つかるファイルを見つけるように依頼します。Zendオートローダーが応答として行うことは、入力「Zend_Acl」'_'をディレクトリセパレータに置き換え、最後に「.php」拡張子を追加してinclude('Zend/Acl.php') ;、それ自体で実行することです。

ライブラリディレクトリはphpinclude_pathの一部であるため、機能します。

于 2012-05-09T11:15:17.830 に答える