source

네임스페이스 작업 시 SimpleXMlement를 찾을 수 없습니다.

manysource 2023. 3. 31. 22:31

네임스페이스 작업 시 SimpleXMlement를 찾을 수 없습니다.

Wordpress에서 위젯을 작성하려고 하는데 SimpleXMlement 개체를 작성하는 데 문제가 발생했습니다.

코드는 다음과 같습니다.

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 치명적인 오류: 114행의 /var/www/myticketpick.com/wp-content/plugins/genieknows-search/genieknows_search.php에서 'GenieKnows_Search\SimpleXMlement' 클래스를 찾을 수 없습니다.

GenieKnows_Search 네임스페이스 내에서 SimpleXML 클래스를 찾고 있는 것처럼 보이지만 그 이유를 알 수 없습니다.

이 오류가 발생하는 이유와 해결 방법에 대한 의견이 있으십니까?

수정은 SimpleXmlElement 앞에 슬래시()를 추가해야 한다는 것이었습니다.

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

여기 개요와 같이.

사용하시는 경우PHP 5.6, 시행:

pip install php-simplexml/pip install php-xml

내 앱은 오류 보고 없이 다운되었다.결국 이게 이거라는 걸 알았어.

Ubuntu에서 실행sudo apt install php-xml.

언급URL : https://stackoverflow.com/questions/7180016/simplexmlelement-cannot-be-found-when-working-with-namespaces