php框架-我是否使用组件?

php框架-我是否使用组件?,php,cakephp,model-view-controller,yii,Php,Cakephp,Model View Controller,Yii,我正在使用Yii框架(之前在CakePHP中也有类似的问题),因为我想为HTML页面创建一个解析器。将会有一些不同的页面需要被抓取和解析,所以我正在考虑使用一个设计模式来实现这一点,可能是“策略模式” 但我的问题是,我应该在哪里向Yii添加此功能?它不是模型或控制器?我很可能会创建几个类,用于解析不同的页面。这就是我创建组件的地方吗?或者在Yii中是否有其他地方可以添加此代码并从控制器中使用它?您可以在YI2框架中创建一个验证组件类的组件 namespace app\components; u

我正在使用Yii框架(之前在CakePHP中也有类似的问题),因为我想为HTML页面创建一个解析器。将会有一些不同的页面需要被抓取和解析,所以我正在考虑使用一个设计模式来实现这一点,可能是“策略模式”


但我的问题是,我应该在哪里向Yii添加此功能?它不是模型或控制器?我很可能会创建几个类,用于解析不同的页面。这就是我创建组件的地方吗?或者在Yii中是否有其他地方可以添加此代码并从控制器中使用它?

您可以在YI2框架中创建一个验证组件类的组件

namespace app\components;

use Yii;
use yii\base\Component;
use yii\base\InvalidConfigException;

class MyComponent extends Component
{
    public function test()
    {
    echo "Test Component ";
    }

}
在config main.php中添加组件

将组件添加到config/web.php文件中

例如:

并且您可以在控制器中关联到您的组件

namespace app\controllers;
use Yii;

class TestController extends \yii\web\Controller
{
   public function actionTest()
   {
      Yii::$app->mycomponent->Test();
    }

}
您可以参考此和/或

namespace app\controllers;
use Yii;

class TestController extends \yii\web\Controller
{
   public function actionTest()
   {
      Yii::$app->mycomponent->Test();
    }

}