Я делаю крошечный автозагрузчик для моих проектов kickstarter, и у меня есть проблема, которая меня немного сбивает с толку.PHP взрывающаяся строка, странный результат
Я создал класс загрузчика, который принимает аргумент, который должен содержать символы подчеркивания, чтобы знать, где загрузчик должен следить за классом. Эта строка содержит информацию о пути и имя класса, например: 'path_to_my_class_myclassname' В классе загрузчика я разделил эту строку метками «_» (подчеркивание) на a и как-то всегда возвращает некоторые неожиданные элементы массива, например :
, если строка будет 'first'
, массив будет выглядеть следующим образом:
array (size=1)
0 => string 'first' (length=5)
array (size=1)
0 => string 'f' (length=1)
Тогда, если я использую подчеркивание так строка: 'youtube_ClassYouTubeAPI'
это выглядит следующим образом:
array (size=2)
0 => string 'youtube' (length=7)
1 => string 'ClassYouTubeAPI' (length=15)
array (size=1)
0 => string 'y' (length=1)
Вы можете видеть, что в обоих примерах массив результатов содержит первую букву входной строки, но не должен.
Я был судим explode('_',$inputstring)
и preg_split('[_]',$inputstring)
тоже, но результат был тот же.
Было бы здорово, если бы кто-нибудь мог мне помочь. Заранее спасибо
=== Обновление ===========
Вот весь код:
<?php
class Autoloader {
static public function loader($load_input) {
$load_data = preg_split('[_]',$load_input,0);
$classname = $load_input[count($load_input)-1];
$filename = 'classes/'.implode('/',$load_data).'.php';
var_dump($load_data);
if (file_exists($filename)) {
include($filename);
if (class_exists($classname)) {
return TRUE;
}
}
return FALSE;
}
}
spl_autoload_register('Autoloader::loader');
?>
Не могли бы вы предоставить нам полный код php? –
Код, который вы опубликовали [работает правильно] (http://sandbox.onlinephpfunctions.com/code/a5a57508312390a70b32f5d89d121bc70c179086). В вашем коде должно быть что-то не так. Пожалуйста, напишите полный (er) листинг, и мы постараемся помочь – Shai
«массив результатов содержит первую букву строки ввода», я подозреваю, что вы смотрите на str [0] вместо arr [0], если вы получить его .. – Teson