2011-12-21 28 views
1

は、それは良い習慣です、またはそれは、フレームワークのコンテキストで名前空間を使用するようにユーザーを強制的に、だろうか? は、私は(フレームワークを開発していますはい、私は知っている、すでに構築するためにこれらの素晴らしいフレームワークのそれの必要はありません。私は理由もなく車輪の再発明だことを指摘する必要はありません。これは私のためだけです。私は自分自身との平和にするためのフレームワークを構築できるようにする必要があります。)とのようなものを使用するようにユーザーを強制する場合、私は思っていた:名前空間

$post = new Model\Post($id); // for models 
$html = new Library\Html(); // for library classes 
$ajax = new Helper\Ajax(); // for helpers 
# ... and so on 

は許容可能です。私は、クラスの名前空間で(モデル/ライブラリ/ヘルパー/ ...というように)右のクラスフォルダにチェックし、自動的にオートローディング機能を使用してできるようにすることが必要。

または私はちょうど一般的な$thisは次のように親のコントローラクラスと負荷のものを参照して行く必要があります。後者は、どのように私はそれのコンストラクタに送ることができるパラメータを管理する必要がある場合

$post = $this->model('Post'); 
$html = $this->library('Html'); 
$ajax = $this->helper('Ajax'); 

クラス?

+1

まず、物事:名前空間はバックスラッシュで区切られ\前方に私はそれを指摘してくれてありがとうしかし、それを知っていた誓う/ –

+0

@DmitriSnytkineスラッシュません。私は少し眠っている。 – Shoe

答えて

2

使用名前空間。 PHP 5.2はもはや積極的にサポートされておらず、5.3バージョンは安定していると考えられています。レガシーシステムをサポートしようとしている場合を除いて、古い方法論で新しいコードを書かないでください。

名前空間は間違いなくお勧めします、あなたがオートロードクラスに関してで述べたものを含む多くの問題、を手伝っています。最初