DOMDocument在独立PHP文件可用,Yii2控制器中报错求助
问题解决:Yii2控制器中DOMDocument类找不到的错误
原因分析
Yii2控制器默认处于app\controllers命名空间下,直接写new DOMDocument()时,PHP会尝试在当前命名空间内查找该类,但DOMDocument是PHP核心全局类,并不在app\controllers命名空间中,因此触发类找不到的错误。
解决方法
有两种简单可行的修复方式:
方法1:添加全局命名空间反斜杠
实例化类时,在DOMDocument前加上\,明确告诉PHP去全局命名空间查找:
$xml = new \DOMDocument("1.0", "ISO-8859-15"); if ($xml) { echo gettype($xml); }
方法2:使用use声明引入类
在控制器文件顶部、命名空间声明之后,添加use DOMDocument;,后续代码即可直接使用类名:
namespace app\controllers; use DOMDocument; use yii\web\Controller; class YourController extends Controller { public function actionYourMethod() { $xml = new DOMDocument("1.0", "ISO-8859-15"); if ($xml) { echo gettype($xml); } } }
内容的提问来源于stack exchange,提问作者Jitendra
相关产品推荐
相关产品推荐

