SimpleXMLElement не может быть найден при работе с пространствами имен - PullRequest
13 голосов
/ 24 августа 2011

Я пытаюсь создать виджет в Wordpress и сталкиваюсь с проблемой создания объекта SimpleXMLElement.

Вот код:

namespace GenieKnows_Search;  

class GenieKnows_Search_Widget extends \WP_Widget {
     //Constructor
     function __construct() {
         parent::__construct('genieknows_search_widget', 'GenieKnows_Search_Widget');
     }

     //Irrelevant Code. Removed for readability. 

    //Return the XML
    function retrieve_gk_xml() {
          $xml = new SimpleXMLElement($this->create_gk_xml(), 0, true); //Line 114
          return $xml->xpath('/feed/results/sponsored/listing');
    }
}

Вот ошибка:

Неустранимая ошибка PHP: класс 'GenieKnows_Search \ SimpleXMLElement' не найден в /var/www/myticketpick.com/wp-content/plugins/genieknows-search/genieknows_search.php по линии 114

Может показаться, что он пытается найти класс SimpleXML внутри моего пространства имен GenieKnows_Search, однако я не понимаю, почему.

Любые идеи о том, почему эта ошибка происходит, и как я могу исправить это?

1 Ответ

38 голосов
/ 24 августа 2011

Исправлено то, что мне нужно было добавить косую черту () перед SimpleXmlElement:

 $xml = new \SimpleXMLElement($this->create_gk_xml(), 0, true);

Как указано здесь.

...