如何在yii2中使用自定义扩展/小部件?

时间:2014-10-19 03:41:50

标签: php yii2

我使用gii在yii2.0中生成扩展,这是代码

namespace ms \ editor;

/**
 * This is just an example.
 */
class AutoloadExample extends \yii\base\Widget
{
    public function run()
    {
        return "Hello!";
    }
}

当我想在我的视图文件中使用它时,

use ms\editor\AutoloadExample;
...
<?= AutoloadExample::widget();?>

我使用yii2 baisic模板,并将“ms”文件夹放在“vendor”文件夹中,但它只是告诉我ms ms \ editor \ AutoloadExample类没找到,我该怎样让yii2找到这个类?是吗?类似于yii1.1中的“components”或“extension”文件夹? 你能帮助我吗?

2 个答案:

答案 0 :(得分:0)

您的小部件应该继承CWidget类并将小部件放在组件中。

public class AutoloadExample extends CWidget 
{
   public function run() { }
}

然后,您可以像这样在视图中运行小部件;

$this->widget('application.components.AutoloadExample', array('your variables'));

答案 1 :(得分:0)

你能试试吗? 例如,在“app / frontend / widgets /”

中创建一个文件

文件名: Deneme.php

<?php

namespace frontend\widgets;

class Deneme
{

    static function yazdir () {

    echo 'asd';

    }

}

使用;

use frontend\widgets\Deneme;

Deneme::yazdir();