1、在app\components下新建MyComponent.php
namespace app\components;
use Yii;
use yii\base\Component;
use yii\base\InvalidConfigException;
class MyComponent extends Component
{
public function welcome()
{
echo "Hello..Welcome to MyComponent";
}
}
2、在config/web.php加入你的components
'components' => [
'mycomponent' => [
'class' => 'app\components\MyComponent',
],
]
3、在controllers/TestController.php中用你的components
namespace app\controllers;
use Yii;
class TestController extends \yii\web\Controller
{
public function actionWelcome()
{
Yii::$app->mycomponent->welcome();
}
-------------------------------------------------------------
想在每个请求处理过程都实例化某个组件即便它不会被访问, 可以将该组件ID加入到应用主体的
[[yii\base\Application::bootstrap|bootstrap]] 属性中。
例如, 如下的应用主体配置保证了 log 组件一直被加载。
/config/web.php
$config = [
'bootstrap' => [
// 将 log 组件 ID 加入引导让它始终载入
'log',
],
'components' => [
'log' => [
// "log" 组件的配置
],
],
]
本文详细介绍了如何在Yii框架中创建、配置并调用自定义组件,包括实例化组件、将其加入到应用主体以及在控制器中使用组件的方法。此外,文章还阐述了在每个请求处理过程中始终加载特定组件的策略。
758

被折叠的 条评论
为什么被折叠?



