Articles of namespaces

PHP: автозагрузка классов, распределенных между PEAR, в конфликтах между классами PSR-0

Для моего приложения я использую пространства имен PSR-0. Все работает красиво! Пока я не хотел использовать Twig в качестве парсера шаблонов, Twig использует псевдопространства PEAR. Как Twig_Loader_Filesystem. Проблема в том, что, когда я хочу использовать Twig внутри моего приложения с расширением имен, например: <?php namespace Tact\ViewManager; class ViewManager { public function init() { $loader = […]

PHP json_decode – иметь дело с пространствами имен

Я пытаюсь разобрать JSON-файл с помощью PHP и json_decode, однако мне сложно делать это, когда возвращаемый JSON является пространством имен. Например: $json_ouput = json_decode($json); foreach ( $json_ouput->feed as $feed) { /* Here is the problem, $feed contains a namespaced key $feed->ab:test->value // Does not work 🙁 */ } Какое лучшее решение здесь?

SimpleXML – добавить новый узел, используя ранее объявленное пространство имен – как?

Я хотел бы добавить ребенка в очень конкретное место (поэтому я также использую DOM и не только simpleXML) для узла <domain:create> . Я попытался использовать атрибут $ ns для конструкции simpleXML. $nsNode = new SimpleXMLElement('<domain:ns>', $options = 0, $ns='urn:ietf:params:xml:ns:domain-1.0'); //transform the target into dom object for manipulation $nodeRegistrantDom = dom_import_simplexml($nodeRegistrant); Но я получаю: Предупреждение ввода-вывода: […]

Symfony2 – класс не найден

Я добавил пользовательский класс в каталог /src/Common как описано здесь. Я делаю все, как описано в ссылке, но он не работает. Я не понимаю, почему. Заранее спасибо за помощь. Пользовательский класс: HttpClient.class.php namespace Common; class HttpClient {… контроллер: use Common\HttpClient; $httpClient = new HttpClient(); Ошибка: FatalErrorException: Ошибка: Class 'Common \ HttpClient' не найден в …

Реляционный API: where () не может определить столбец, используя классы с именами

Я пытаюсь сделать что-то подобное $ u = \ Entity \ UserQuery :: create () -> где ('User.Username =?', "john") -> findOne (); но я получаю эту ошибку Невозможно определить столбец для привязки к параметру в разделе «User.Username =?» Хотя тот же код в контексте, отличном от имен, работает нормально. Я знал, что есть лучшие […]

php 5.3 Неустранимая ошибка Класс DateTimeZone не найден

Я попробовал, чтобы запустить следующий код, на PHP v5.3.13, но все еще получая ошибку класса, не найденной: $tZone = new DateTimeZone("Europe/Amsterdam"); Как использовать DateTimeZone в 5.3.13?

Пространство имен PHP и динамическое имя класса

Я столкнулся с «странной» вещью, экспериментируя с spl_autoload, пространствами имен и динамическими именами классов. Я использую PHP 5.3.2, вызываю автозагрузку, как это set_include_path(get_include_path().PATH_SEPARATOR."classes".PATH_SEPARATOR."utils"); spl_autoload_extensions(".class.php"); spl_autoload_register(); Теперь к сути. Предложите следующий код: new \User\Student; $name="\User\Student"; new $name(); Это отлично работает, файлы классов / user / student.class.php загружаются успешно, обе конструкции успешны. Однако, немного другое использование: $name="\User\Student"; […]

Нужно ли использовать автозагрузку PHP для использования папок?

Я довольно запутался в реализации пространства имен в php, особенно когда речь заходит об алиасах – импорте классов. Я следил за учебником из этого урока: Использование пространств имен PHP V5.3 для читаемого и поддерживаемого кода (от Don Denoncourt, 1 марта 2011 г., для IBM Developerworks) Но я не понимаю – когда используется __autoload , почему […]

PHPUnit не может найти класс исключения

Я использую namespacing в 5.3 и пытаюсь проверить ожидаемое исключение в PHPUnit с картой Symfony2. Я ожидаю, что будет выбрано исключение, и когда я использую $this->setExpectedException('ImageResizerException'); Я получаю следующую ошибку: PHPUnit 3.7.13 от Себастьяна Бергмана. Конфигурация читается из /var/www/branches/3.6.0/api/app/phpunit.xml.dist .E …………….. Время: 1 секунда, Память: 18.25Mb Была 1 ошибка: 1) AssetManagerBundle \ Tests \ Services […]

PHP, новый класс переменных в пространстве имен

Я экспериментирую с функциональностью namespacing PHP 5.3, и я просто не могу понять, как создать экземпляр нового класса с префиксом пространства имен. В настоящее время это прекрасно работает: <?php new $className($args); ?> Но как я могу добавить свое пространство имен перед переменной classname? Следующий пример не работает. <?php new My\Namespace\$className($args); ?> В этом примере получается: […]

Intereting Posts
Зачем использовать фреймворки? Убедите меня, что я должен выяснить Zend Framework и использовать его разница между библиотеками и помощниками в php frameworks количество кликов определенной ссылки в сообщении WordPress Laravel: Ошибка : не удалось найти драйвер в MySQL PDO: выбор с использованием подготовленного оператора возвращает имя столбца Есть ли способ позволить cURL ждать, пока не будут выполнены динамические обновления страницы? PHP CLI – вводите пользователя, когда делаете что-то в фоновом режиме Получение статического свойства из класса с динамическим именем класса в PHP Как передавать данные сеанса в другом контроллере в CodeIgniter Установка расширения PHP OAuth на WAMP Является ли foreach гарантированным итерирование в порядке массива в php? Символы, разрешенные в ключах php-массива? Белый экран смерти! PHP и XML – Как сгенерировать запрос на мыло в PHP из этого XML? Сохранение данных формы в существующий XML-файл с использованием PHP