Maison >développement back-end >tutoriel php >请问YII2的自定义组件应该放在什么位置,用什么文件名

请问YII2的自定义组件应该放在什么位置,用什么文件名

WBOY
WBOYoriginal
2016-06-06 20:10:141305parcourir

//定义是MyController.php
namespace appcomponents;
use yiibaseWidget;
use yiihelpersHtml;

class HelloWidget extends Widget
{

<code>public $message;

public function init()
{
    parent::init();
    if ($this->message === null) {
        $this->message = 'Hello World';
    }
}

public function run()
{
    return Html::encode($this->message);
}</code>

}

//然后调用是在view中
use appcomponentsHelloWidget;
?>
= HelloWidget::widget(['message' => 'Good morning']) ?>

//结果报错找不到组件
Class 'appcomponentsHelloWidget' not found

请问我定义是不是错了呀?

回复内容:

//定义是MyController.php
namespace appcomponents;
use yiibaseWidget;
use yiihelpersHtml;

class HelloWidget extends Widget
{

<code>public $message;

public function init()
{
    parent::init();
    if ($this->message === null) {
        $this->message = 'Hello World';
    }
}

public function run()
{
    return Html::encode($this->message);
}</code>

}

//然后调用是在view中
use appcomponentsHelloWidget;
?>
= HelloWidget::widget(['message' => 'Good morning']) ?>

//结果报错找不到组件
Class 'appcomponentsHelloWidget' not found

请问我定义是不是错了呀?

命名空间的问题
很少用app开始的明明空间,一般都是common/components;或者根据模块来,frontend backend

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn