Использование XmlReader с Yii - класс 'backend \ components \ XMLReader' не найден - PullRequest
0 голосов
/ 07 июня 2018

У меня есть эта ошибка:

Неустранимая ошибка PHP - yii \ base \ ErrorException Класс 'backend \ components \ 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 голосов
/ 07 июня 2018

Это потому, что вы используете 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();
        } 
    } 
} 

Вы можете прочитать больше о пространствах имен в документации .

0 голосов
/ 07 июня 2018

Вы должны использовать XmlReader для экзамена

use omgdef\fias\console\base\XmlReader;

Я не знаю, какой пакет вы используете.Но для этого все работает

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

Также вот несколько примеров из репо

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

Вы должны использоватьпространство имен, которое есть в вашем проекте

...