Yii -Класс 'frontend \ controllers \ UserForm' не найден

1

Работа с Yii-кадрами Я размещаю UserFrom.php в корневом каталоге или в папке с кодом ниже

<?
namespace app\models;
use yii\base\Model;

class UserForm extends Model
{

    public $name;
    public $email;

    public function rules()
    {
        return[[['name','email'],'required'],
                ['email','email'],]
    }

}

?>

и root/frontend/controllers/Sitecontroller.php файл root/frontend/controllers/Sitecontroller.php. добавьте следующий код

public function actionUser()
{
    $model=new UserForm;
    if($model->load(Yii::$app->request->post()) && $model->valideate())
    {

    }
    else
    {
        return $this->render('userForm',['model'=>$model] );
    }
}

затем окончательно добавьте новый файл в root/views/site/userForm.php его код ниже

<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
?>
<?php $form=ActiveForm::begin();?>
<?php $form->field($model,'name'); ?>
<?php $form->field($model,'email'); ?>
<?php Html::submitButton('Submit',['class'=>'btn btn-success']);

если я открою url, я получаю ошибку url = http://localhost/yiicomm/frontend/web/index.php? r = сайт/пользователь

PHP Fatal Error - yii\base\ErrorException Класс 'frontend\controllers\UserForm' не найден. я чувствую, что я правильно поставил, но получаю ошибку. что не так в моем коде

Теги:
yii2

3 ответа

8

Попробуйте использовать полное пространство имен:

$model=new \app\models\UserForm;

Или включите следующую строку вверху вашего контроллера:

use app\models\UserForm;
1

Вы забыли использовать Use Operator для получения полного имени для вашего класса UserForm, например

use app\models\Userform;

0

можете добавить

use app\models\UserForm;

в вашем контроллере

Ещё вопросы

Сообщество Overcoder
Наверх
Меню