Heim >Backend-Entwicklung >PHP-Tutorial >请问YII2的自定义组件应该放在什么位置,用什么文件名

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

WBOY
WBOYOriginal
2016-06-06 20:10:141305Durchsuche

//定义是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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn