【问题标题】:Fatal error: Uncaught Error: Class 'yii\widgets\ActiveForm' not found C:\wamp64\www\yii-basic\views\post\index.php致命错误:未捕获错误:找不到类 'yii\widgets\ActiveForm' C:\wamp64\www\yii-basic\views\post\index.php
【发布时间】:2019-03-19 18:24:57
【问题描述】:

我在下面的代码中遇到了这个错误,我无法解决它。我应该怎么办?我是 Yii2 的初学者。

致命错误:未捕获错误:找不到类 'yii\widgets\ActiveForm' C:\wamp64\www\yii-basic\views\post\index.php

<?php
use yii\widgets\ActiveForm;
use yii\helpers\Html;
?>
<?php
$form = ActiveForm::begin([
'id'=>'post-form',
'options'=>['class'=>'form-horizontal']
]);
?>
<?= $form->field('$model','title');?>
<?= $form->field('$model','content')->textarea();?>
<?= $form->field('$model','tags');?>
<?= $form->field('$model','status')->checkbox();?>

<div class="form-group">
<div class="col-lg-offset-1 col-lg-11">
    <?= Html::submitButton('save',['class','btn btn-success']) ?>
</div>
</div>

<?php
ActiveForm::end();
?>

【问题讨论】:

  • yii\widgets\ActiveForm 应该在vendor/yiisoft/yii2/widgets/ActiveForm.php 中。如果您没有此文件,则表示您的安装不完整。尝试删除vendor 目录并再次运行composer install

标签: php yii2 fatal-error


【解决方案1】:

您的目录中缺少它们。

你的错误在这一行:

 use yii\widgets\ActiveForm;

问题是该目录中没有名为 ActiveForm 的文件。

由于这是一个致命错误,它停止处理该行之后的代码。你必须检查你是否也有 'yii\helpers\Html'。

解决方案

检查您的文件夹以查看这些文件是否在其中。如果没有,则使用 Yii 重新验证安装是否成功。

php yii serve

来源:Yii-InstallationPHP-Namespaces

【讨论】:

  • 我在yii-basic/vendor/yiisoft/yii2-bootstrap/src/ActiveForm目录下找到了这个文件,但是不知道为什么会出现这个错误?
  • 如果你将使用改为:使用 yii-basic/vendor/yiisoft/yii2-bootstrap/src/ActiveForm 是否有效? ?
【解决方案2】:

正如您提到的,您在yii-basic/vendor/yiisoft/yii2-bootstrap/src/ActiveForm 目录中找到了ActiveForm,我认为您应该

替换

use yii\widgets\ActiveForm;

use yii\bootstrap\ActiveForm;

因为,你已经安装了 yii2 bootstrap active form。

【讨论】:

    猜你喜欢
    • 2021-02-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2018-09-06
    • 2018-05-11
    • 2020-11-09
    • 2020-03-02
    相关资源
    最近更新 更多