化拓教育网
您的当前位置:首页将Yii2和Workerman结合的方法

将Yii2和Workerman结合的方法

来源:化拓教育网


把Yii2应用的index.php中的内容放到Worker的代码前面,只是要把run改为init:

<?php
require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/../common/config/bootstrap.php');
require(__DIR__ . '/config/bootstrap.php');
 
$config = yiihelpersArrayHelper::merge(
 require(__DIR__ . '/../common/config/main.php'),
 require(__DIR__ . '/../common/config/main-local.php'),
 require(__DIR__ . '/config/main.php'),
 require(__DIR__ . '/config/main-local.php')
);
 
(new yiiwebApplication($config))->init(); //改为init

同样可以延用Yii2的组件方式和目录结构,注意几点:

1、debug组件不用加载了,加载也没有意思,因为没有request,所以会报错

2、最好也定义一个index.php作为整个workerman的入口,这样可以在main.php加载之前初始化一些YII_DEBUG这样的全局变量。

更多workerman知识请关注PHP中文网workerman教程栏目。

显示全文