Intereting Posts
Почему я теряю все косые черты, т. Е. «\», В моих блогах, когда я импортирую файлы XML через плагин WordPress Importer? Неправильные ссылки в WordPress? Как экспортировать весь контент с помощью изображений функций? как настроить теги rss feed с помощью перехватчиков? Добавить класс в oEmbed видео из редактора сообщений? Организация загруженных носителей с помощью wp_insert_post () и wp_handle_upload в соответствии с параметром времени Cron не стреляет Есть ли подстановочный знак / catchall filter hook? создание одной страницы с двумя столбцами, а тема – 3 столбца Переопределение родительской темы … вызовет сбой плагинов? Переключает хосты на один с помощью cPanel. Чтобы передать мой блог, должен ли я установить WP или просто загрузить мой старый каталог и базу данных WP? проблема с получением звукового URL-адреса Использовать другой файл single.php на основе условия У меня есть геокодированные сообщения с широтой долготы – Как искать по радиусу? Могу ли я добавить flickr, imgur и т. Д. Загрузчик для моей кнопки загрузки WP?

Проблема пространства имен spl_autoload в администраторе WordPress

Я экспериментирую с пространством имен PHP в плагинах Worpdress. Плагин включает в себя файл загрузчика, который устанавливает функциональность spl_autoload, а затем создает экземпляр другого контроллера в зависимости от того, является ли текущий запрос страницы «is_admin ()» или нет.

[WP_PLUGIN_DIR] /lhes_experiment/loader.php

use lhes\system\controllers as sys; set_include_path('./wp-content/plugins/lhes_experiment/' . PATH_SEPARATOR . get_include_path()); spl_autoload_extensions(".php"); // comma-separated list spl_autoload_register( 'spl_autoload' ); $config = array( ... ); if( is_admin() ){ error_log( var_export( new sys\experiment( ), true ), 0 ); }else{ error_log( var_export( new sys\experiment( ), true ), 0 ); } 

[WP_PLUGIN_DIR] /lhes_experiment/lhes/system/controllers/experiment.php

 namespace lhes\system\controllers; class experiment extends test{ public $property; function __construct( ){ $this->property = 'owls'; } } 

[WP_PLUGIN_DIR] /lhes_experiment/lhes/system/controllers/test.php

 namespace lhes\system\controllers; class test{ public $test; function __construct( ){ $this->test = 'hi'; } } 

Когда запрос не является и администратором, код работает как ожидалось, и журнал ошибок показывает:

 [23-Jan-2013 12:55:27 UTC] lhes\system\controllers\experiment::__set_state(array( 'property' => 'owls', 'test' => 'hi', )) 

Однако, когда запрос относится к странице администратора, тот же самый код не работает:

 [23-Jan-2013 12:56:17 UTC] PHP Fatal error: Class 'lhes\system\controllers\test' not found in C:\Program Files (x86)\Zend\Apache2\htdocs\wp-content\plugins\lhes_experiment\lhes\system\controllers\experiment.php on line 4 

Я потратил много часов на поиски проблемы, но, похоже, ничего не нашел. Если у кого-нибудь есть идеи относительно того, почему это может произойти, я бы очень признателен за некоторые указатели.

Solutions Collecting From Web of "Проблема пространства имен spl_autoload в администраторе WordPress"