将XmlReader与Yii一起使用 - Class' backend \ components \ XMLReader'未找到

时间:2018-06-07 13:21:43

标签: php yii yii2 xmlreader

我有这个错误:

  

PHP致命错误 - yii \ base \ ErrorException类   '后端\部件\的XMLReader'没找到。

我正在使用框架Yii并希望在组件中使用XMLReader

<?php 

namespace backend\components;

class XMLRead {

    public function parse() {
        // Instanciation de la classe XMLReader
        try {
            $xml = new XMLReader();
        } catch (Exception $e) {
            $e->getMessage();
        } 
    } 
} 

2 个答案:

答案 0 :(得分:2)

这是因为您在XMLReader命名空间内使用backend\components类,因此XMLReader被解释为backend\components\XMLReader。您应该使用前导反斜杠来指示应该使用全局命名空间中的类:

$xml = new \XMLReader();

或者使用文件头部的use语句导入此类:

<?php 

namespace backend\components;

use XMLReader;

class XMLRead {

    public function parse() {
        // Instanciation de la classe XMLReader
        try {
            $xml = new XMLReader();
        } catch (Exception $e) {
            $e->getMessage();
        } 
    } 
} 

您可以在documentation中阅读有关命名空间的更多信息。

答案 1 :(得分:0)

您应该使用XmlReader进行考试

use omgdef\fias\console\base\XmlReader;

我不知道你使用哪种包装。但是,这是有效的

https://github.com/OmgDef/yii2-fias

此处还有一些来自repo的例子

https://github.com/OmgDef/yii2-fias/blob/aa8980fb40a003697d873df3829b4a440923144f/console/controllers/FiasController.php

您应该使用项目中的命名空间