2010-11-24 5 views
0

私のモデルクラスでは、 "Default_Model_Class1"という名前を付ける代わりに、単純に "Class1"という名前を付けたいと思います。Zend Frameworkで単純なモデルクラス名を持つには?

私はそれを行う方法を見つけることができません。 ありがとう

+2

もう1つ質問があります。なぜそれが必要ですか?良い理由がある、なぜそれが使用されていない。まず、クラス名の競合のために困っているかもしれません。 Prefixは、ある種の名前空間(PHP <5.3ではネイティブ名前空間をサポートしていません)でもあります。したがって、「オブジェクトは「Class1」(これが何であれ)であり、モデルであり、Default-Moduleからです」と言うのではなく、「オブジェクトは「Class1」です」と言いたいのですか? – KingCrunch

+0

これは簡単な小さなウェブサイトです。私は簡単に開発したいと思います。そしてさらに、私はクラス/関数名を持たずにそれを使いたい:http://framework.zend.com/manual/en/zend.db.table.relationships.html –

答えて

4

答えは?浮気によって。

あなたはすべてのあなたのモデルを持っている場合、のは言わせ、アプリケーション/モデル、あなたのパスを含めると、それは良い命名プラクティスに基づいて見つけることができないとき、フォールバックするZendのオートローダーを設定し、そのパスを追加することができます(KingCrunchさんのコメントを参照してください)

$loader = Zend_Loader_Autoloader::getInstance(); 
$loader->setFallbackAutoloader(true); 
$loader->suppressNotFoundWarnings(false); 

、あなたのモデルのパスに存在するYourModelをロードしようとすると、その後、オートローダーがそれを処理することができる必要があり、あなたは、単純な名前を使用して、あなたの参照を構築することができます:フォールバックするオートローダを伝えるために

アプリケーションが小さいにもかかわらず、それらのベストプラクティスを使用することは常に良いことです。

0

useキーワードを追加したPHPのバージョン(名前空間を追加するとおそらく5.3)はわかりませんが、クラス名にはZend Frameworkの名前空間の欠如を説明する典型的な長い名前を付けました。 useを使用してスクリプト内の文字列を短くしました。また、何らかの理由でクラスを移動したり名前を変更したりする必要がある場合は、ファイルごとに1つだけuseステートメントを変更する必要があることを意味します。

use Application_Model_Users_User as Model_User; 
関連する問題