У меня есть следующий код в моем классе.$pm->new_route_waypoints = array ();
if($pm->assumed_type == 'O') {
$pm->new_route_start = $pm->addressStart;
$pm->new_route_end = $pm->addressEnd;
$pm->new_route_waypoints [] = $this->_record->addressStart;
$pm->new_route_waypoints [] = $this->_record->addressEnd;
$pm->offer_distance = $pm->totalDistance;
$pm->offer_duration = $pm->totalDuration;
}
else {
$pm->new_route_start = $this->_record->addressStart;
$pm->new_route_end = $this->_record->addressEnd;
$pm->new_route_waypoints [] = $pm->addressStart;
$pm->new_route_waypoints [] = $pm->addressEnd;
$pm->offer_distance = $this->_record->totalDistance;
$pm->offer_duration = $this->_record->totalDuration;
}
Когда эта строка $pm->new_route_waypoints [] = $pm->addressStart;
запускается, она читает $ pm-> addressStart как класс, и автозагрузчик пытается загрузить его.В частности, он читает переменную «123 Main St, Wilson, WY 83014, USA», а затем выдает эту ошибку:
Предупреждение: include_once (/Sites/website/classes/class.123 Main St, Wilson, WY 83014, USA.php) [function.include-Once]: не удалось открыть поток: нет такого файла или каталога в /Sites/website/testbed_db/startsession.php в строке 11
Интересноон не выдает ту же ошибку в следующей строке кода $pm->new_route_waypoints [] = $pm->addressEnd;
, значение которого совпадает с типом значения (адресом), что и в первой строке, которая вызывает ошибку.
Я изменил свой автозагрузчик, чтобы выполнитьinclude_once вместо require_once, поэтому он не нарушает мой код, но я не смог понять, почему я получаю эту ошибку.Я не думаю, что это как-то связано с моим кодом автозагрузчика, так как я пытался заменить его просто с помощью функции __autoload, но вот код на всякий случай:
define('ROOT',$_SERVER['DOCUMENT_ROOT'].'/');
function __autoload_libraries($class_name)
{
include_once ROOT."classes/class.".$class_name.".php";
}
spl_autoload_register('__autoload_libraries');
Дайте мне знать, если вам нужно большечтобы дать мне несколько идей.
Спасибо,
Мэтью