Articles of spl

spl_autoload не вызывает вторую функцию автозагрузки

У меня есть вызов spl_autoload, но проблема в том, что вторая автозагрузка не выполняется, и я не могу понять, почему. С этим кодом этот код должен умереть. Я удаляю классы из массива папок, автозагрузка будет работать. Мой код выглядит так: <?php ini_set('error_reporting', E_ALL); ini_set('display_errors','On'); /*** nullify any existing autoloads ***/ spl_autoload_register(null, false); /*** specify extensions […]

Slim framework – Как использовать автозагрузку Slim / Slim.php вместо использования?

Как я могу использовать autoload Slim / Slim.php вместо использования require ? // standard method //require 'ext/Slim/Slim.php'; // autoload method: define ('WEBSITE_DOCROOT', str_replace('\\', '/', dirname(__FILE__)).'/'); // Instance of SplAutoload. $SplAutoload = new SplAutoload(); // Load classes. $SplAutoload->fetch([ 'ext/' // Slim/ is kept under ext/ ]); \Slim\Slim::registerAutoloader(); //Instantiate a Slim application: $app = new \Slim\Slim(); //Define […]

Интерфейс PHP, SPL, ArrayAccess

Я пытаюсь понять идею интерфейса ArrayAccess, Я не понимаю, что такое каждый метод, если эти методы (функции) являются «встроенными» функциями, а интерфейс ArrayAccess (также «встроенный») только «убедитесь», что я собираюсь реализовать эти «встроенные» методы (функции ) Я пытаюсь понять, что делает каждая из этих функций с нашим кодом «За кулисами». function offsetSet($offset, $value); function offsetGet($offset); […]

Как исключить типы файлов из цикла каталогов Iterator

Простой итератор каталога, который является рекурсивным и показывает все файлы и каталоги / подкаталоги. Я не вижу встроенной функции для исключения определенных типов файлов, например, в следующем примере я не хочу выводить файлы с изображениями, такие как .jpg , .png и т. Д. Я знаю, что есть несколько способов сделать это , ища советы, по […]

как работать с RegexIterator :: REPLACE mode?

Что не так в моем коде: $i = new RegexIterator( new ArrayIterator(array( 'test1'=>'test888', 'test2'=>'what?', 'test3'=>'test999')), '/^test(.*)/', RegexIterator::REPLACE); foreach ($i as $name=>$value) echo $name . '=>' . $value . "\n"; Почему итератор пуст? Спасибо за вашу помощь!

Есть ли у PHP 5.x какой-то HashSet или Set Class?

Я привык к Java, где у меня есть HashSets , ArrayLists и другие Collections . Но сейчас я работаю над проектом PHP. Мне нужно создать набор, заполнить этот набор объектами (строки в этом случае), но Set может содержать только каждый объект один раз. Кроме того, я хочу удалить определенный объект в конце из этого набора, […]

Нужен совет итератора для пересечения дерева

Привет, мне нужен совет итератора. У меня есть объект Category, который может содержать набор элементов, а также может иметь дочерние категории. Из доктрины ORM я получаю коллекцию объектов категории. Теперь я хочу пройти эту коллекцию и сгладить структуру древа категории. Таким образом, категории детей находятся на том же уровне, что и его родитель. Я также […]

Ошибка PHP LimitIterator («Не поддерживает поиск» + «Невозможно перемотать файл»)

Я использую SplFileObject и LimitIterator для чтения содержимого с позиции x до y большого файла. Это отлично работает при использовании пути к файлу, например /home/devel/stuff/myfile.log . При использовании пути, например http://mydomain.com:8090/devel/stuff/myfile.log он не работает. Однако путь правильный. Сбой при использовании абсолютных путей? Сообщения об ошибках: PHP Warning: SplFileObject::rewind() [<a href='splfileobject.rewind'>splfileobject.rewind</a>]: stream does not support seeking […]

PHP: как автозагрузочные интерфейсы и тезисы

У меня есть этот класс автозагрузчика для первоначальной загрузки classes , но теперь я хочу также авторизовать interfaces и abstracts . Поэтому я внес изменения после этого ответа , $reflection = new ReflectionClass($class_name); # Return boolean if it is an interface. if ($reflection->isInterface()) { $file_name = 'interface_'.strtolower(array_pop($file_pieces)).'.php'; } else { $file_name = 'class_'.strtolower(array_pop($file_pieces)).'.php'; } Я […]

В чем смысл класса PHP SpldoublyLinkedList и, что более важно, Linked Lists в целом?

В стремлении расширить свое мастерство в программировании я так часто вникал в стандартную библиотеку PHP . Это привело к моему открытию класса SplDoublyLinkedList . Оттуда я прочитал описания Связанных списков и дважды связанных списков в Википедии. Я понимаю, как они работают … Но я не могу представить себе причину, ПОЧЕМУ она нам нужна, или, еще […]