Я разрабатываю систему в php, которая использует пространства имен.Ошибка «class not found» в PHP с двойными слэшами (\)
У меня есть следующий код (обобщенный, очевидно) .... класса в одном месте с каталогом Foo \ Bar \ fubar.php
<?php
namespace Foo\Bar;
class fubar
{...
И у меня в другой .php .. .
<?php
use Foo\Bar;
use Foo\Bar\fubar;
class adventurer{
$doomChickens = new fubar();
}
Теперь, когда я просматриваю журнал ошибок, я получаю ...
PHP Fatal Error: Class 'Foo\\Bar\\fubar' not found.
Я был воспитан в этот код (я не оригинал автора), но в общем, я использую тип, который требует &, а не пространства имен. Какая ошибка может вызвать двойную косую черту? Возможно, это источник моей проблемы?
Спасибо! Я не ожидал, что в фактическом выводе будет отображаться escape-слэши. Я основывал этот код на существующих параллелях ... полагаю, они, вероятно, используют маршрут автозагрузчика, а это значит, что мне теперь нужно выследить его местоположение. Ты спас меня от наготы! Благодаря! – liljoshu
Если вы не в окнах, следите за чувствительностью к регистру. Если вы используете класс как 'Foo \ bar \ Baz', PHP будет искать именно это и пропустить' Foo \ Bar \ Baz'. – Anonymous