开发组件,扩展Widget时无法调用widget部件 [ 2.0 版本 ]
文件结构如下:
入口:根目录下的text.php
require_once __DIR__ . '/vendor/autoload.php';
use Hello\SayHello;
echo SayHello::world();
SayHello类如下:
namespace Hello;
use app\TestWidgets\ProgressWidget;
class SayHello
{
public static function world()
{
return 122;
return ProgressWidget::widget(['message'=>1232213]);
}
问题是,world方法直接返回122或任何数字,字符串。都可以在页面渲染出来。
如果改成 return ProgressWidget::widget(['message'=>1232213]); 就会报500
ProgressWidget.php 如下
/**
*
*/
namespace app\TestWidgets;
class ProgressWidget extends \yii\base\Widget
{
public $message;
public function init()
{
parent::init();
if($this->message === null){
$this->message = '<div class="color:red;">Hello World</div>';
}else{
$this->message = '<div style="color:red;">'.$this->message.'</div>';
}
}
public function run(){
// return $this->render('hello');
return 123;
}
灰太狼 补充于 2017-11-22 15:56
已经解决了。是因为命名空间写错了!
最佳答案
-
return19931112 发布于 2017-11-22 15:19 举报
test.php加上require Yii.php
共 3 条回复return19931112 回复于 2017-11-24 11:30 回复@zhb1875 看下你的composer.json,autoload-psr4
其他 0 个回答
没有找到数据。
灰太狼
注册时间:2016-11-19
最后登录:2023-07-14
在线时长:76小时17分
最后登录:2023-07-14
在线时长:76小时17分
- 粉丝28
- 金钱3290
- 威望150
- 积分5550