Articles of namespaces

Ошибки пространства имен SimpleXML SOAP

Проведя НЕСКОЛЬКО разочарованные часы, я прошу вас о помощи. Я пытаюсь получить содержимое определенных узлов из ответа SOAP. Ответ <?xml version="1.0" encoding="UTF-8"?> <env:Envelope xmlns:env="<a href="http://www.w3.org/2003/05/soap-envelope">http://www.w3.org/2003/05/soap-envelope</a>"<xmlns:ns1="<a href="http://soap.xxxxxx.co.uk/">http://soap.xxxxxx.co.uk/</a>"> <env:Body> <ns1:PlaceOrderResponse> <xxxxxOrderNumber></xxxxxOrderNumber> <ErrorArray> <Error> <ErrorCode>24</ErrorCode> <ErrorText>The+client+order+number+3002254+is+already+in+use</ErrorText> </Error> <Error> <ErrorCode>1</ErrorCode> <ErrorText>Aborting</ErrorText> </Error> </ErrorArray> </ns1:PlaceOrderResponse> </env:Body> </env:Envelope> Я пытаюсь получить узлы и дочерние элементы <ErrorArray>. Из-за XML, содержащего пространства имен […]

Внедрение пространств имен в режиме без жира

Я пытаюсь использовать пространства имен в fatfree framework, но каким-то образом его неспособность найти следующий класс – это моя настройка routes.ini [routes] GET /=Src\Controllers\Index->index index.php namespace Src\Controllers; class Index { function index($f3) { $f3->set('name','world'); echo View::instance()->render('template.htm'); } } Глобальный индекс.php // Retrieve instance of the framework $f3=require('lib/base.php'); // Initialize CMS $f3->config('config/config.ini'); // Define routes $f3->config('config/routes.ini'); […]

Использование пространств имен PHP в приложении Zend Framework (v1)

Возможно ли в текущей стабильной версии Zend Framework (1.11) работать с классами приложений с использованием пространств имен PHP? Application\Form\Abc instead of Application_Form_Abc Application\Model\Xyz instead of Application_Model_Xyz etc. Начиная с версии 1.1, ZF поддерживает автозагрузку пространств имен , и он отлично работает при включении библиотек с расширением имен, но я был неудачен при попытке выполнить ту […]

XPath в SimpleXML для пространств имен по умолчанию без префиксов

У меня есть XML-документ с прикрепленным к нему пространством имен по умолчанию, например <foo xmlns="http://www.example.com/ns/1.0"> … </foo> На самом деле это сложный XML-документ, который соответствует сложной схеме. Моя задача – разобрать некоторые данные. Чтобы помочь мне, у меня есть таблица XPath. XPath довольно глубоко вложен, например level1/level2/level3[@foo="bar"]/level4[@foo="bar"]/level5/level6[2] Человек, который генерирует XPath, является экспертом в схеме, […]

Зарезервированные слова PHP как пространства имен и имена классов

Недавно я начал конвертировать мою фреймворк, чтобы использовать пространства имен php и один вопрос, на который я не могу найти ответ, – является ли «законным» использовать зарезервированные слова, такие как «Object», «Array», «String» 'как пространство имен и имя класса в этом пространстве имен? Примером может служить: namespace System\Object; class String { } class Array { […]

PHP: доступ к XML с именами с SimpleXML

Я использую функцию simplexml () для синтаксического анализа через RSS-канал, в то время как я могу получить доступ к $var->title для <title> как мне получить доступ к <dcterms:issued> ? Выдержка из корма ( http://pastebin.com/nN8G78AH ): <item rdf:about="http://newyork.craigslist.org/brk/mcy/1779690213.html"> <title><![CDATA[Kawasaki ZX-10R Rims For Sale (Nassau Motorsports)]]></title> <link>http://newyork.craigslist.org/brk/mcy/1779690213.html</link> <description><![CDATA[ <br> <br> 2000 KAWASAKI ZX-12R <br> <br> FRONT & […]

Импорт класса без пространства имен в класс с именами

У меня есть некоторый класс, он включает Smarty, но мой класс использует тест пространства имен, Smarty не использует пространства имен. Как включить Smarty, не записывая пространства имен в файлы smarty (у него много системных плагинов) import "smarty/Smarty.php" class testik { public function __construct () { $smarty = new Smarty(); } } <?php class Smarty { […]

Как проверить, существует ли класс в пространстве имен?

У меня есть это: use XXX\Driver\Driver; … var_dump(class_exists('Driver')); // false $driver = new Driver(); // prints 123123123 since I put an echo in the constructor of this class exit; Ну … это поведение довольно иррационально (создание объектов классов, которые по PHP не существуют). Есть ли способ проверить, существует ли класс в данном пространстве имен?

Разбирайте XML с помощью пространства имен с помощью SimpleXML

У меня это как xml: <root xmlns:event="http://www.webex.com/schemas/2002/06/service/event"> <event:event> <event:sessionKey></event:sessionKey> <event:sessionName>Learn QB in Minutes</event:sessionName> <event:sessionType>9</event:sessionType> <event:hostWebExID></event:hostWebExID> <event:startDate>02/12/2009</event:startDate> <event:endDate>02/12/2009</event:endDate> <event:timeZoneID>11</event:timeZoneID> <event:duration>30</event:duration> <event:description></event:description> <event:status>NOT_INPROGRESS</event:status> <event:panelists></event:panelists> <event:listStatus>PUBLIC</event:listStatus> </event:event> … </root> Как я могу пройти через все события: узлы событий и отображение, например, всего события: SessionKey? Это не работает: $xml = new SimpleXMLElement($r); $xml->registerXPathNamespace('e', 'http://www.webex.com/schemas/2002/06/service/event'); foreach($xml->xpath('//e:event') as $event) { var_export($event->xpath('//e:sessionKey')); […]

Загрузка нескольких версий одного и того же класса

Предположим, я выпустил библиотеку кода как отдельный класс PHP. Затем кто-то использует версию 1.0 этой библиотеки в своем приложении. Позже я выпускаю версию 2.0 библиотеки, и тот же кто-то по какой-то причине должен использовать как 1.0, так и 2.0 бок о бок в своем приложении, потому что либо он, либо я нарушили совместимость с новой […]