0
私はPHPネームスペースとオートロードを使用しています。各ページの上部にある結果として、私はこれらの行を記述します。私は、ウェブサイトのルートにいるときPHPネームスペースはサブディレクトリでは機能しません
require_once('autoload.php'); // this file is in the root directory
use Lib\Blogs;
use Lib\Clients;
すべてのものは、前述の行を結構です。
require_once('../autoload.php'); // this file is in the root directory
use Lib\Blogs;
use Lib\Clients;
と、これは誤りです:
は、私がこれまでのラインの上に変更します。
Fatal error: Class 'Lib\Blogs' not found in C:\website\ajax\ajaxBlog.php on line 10
と私はサブディレクトリにいるときしかし、私はそれらのいずれかにアクセスすることはできません10行目で静的メソッドを呼び出すコードを持っています:
if (!empty(Blogs::findByEmail($email))) { ... }
それでも同じ致命的なエラー – MoHo
は、私はまだautoload.phpファイルが必要ですか? – MoHo
もちろん、すべてのページにオートコーダーが必要です。それ以外の場合は、すべてのクラスファイルを手動でインクルードする必要があります。あなたの場合、オートローダーファイルに絶対パスを含める必要があります。しかし、プロジェクトでMVCパターンを使用する方が良いでしょう。この場合、index.phpにオートローダーを1回だけ含める必要があります –