采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师有个地方不理解,之前引入的是base.php 为何因为类找不到改为引入start.php就能找到了, start.php 不也是引入的base.php吗,那和直接引入base.php有什么区别呢
同学您好。您的问题问的很好。
这个我记得再课程中有做说明的。 因为start.php其实他引入了 base.php ,引入完毕之后 他会默认执行
// 执行应用并响应
Container::get('app', [defined('APP_PATH') ? APP_PATH : ''])
->run()
->send();
这个内容,
而我们本套课程需要做适配, 再onRequest回调函数中 我们需要对一些参数做些视频, 然后 再去执行Container::get
所以不需要引入start.php 不然会执行两次Container::get,
故此 引入base.php 然后在 执行 Container::get。
希望老师的回答能帮到您,如果还不理解的话 可以加老师扣沟通。祝您学习愉快。
那现在为什么引入start.php 在onRequest回调函数种 不会再执行两次Container::get了吗
对 我也想问
onWorkerStart
此事件在Worker进程/Task进程启动时发生 ,我们投递任务的时候会调用,而进程相关独立的(这是关键)
在老师代码基础上修改:
public function onWorkerStart($server,$work_id){ //定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); //方式一 /*if($work_id >= $server->setting['worker_num']){ //task进程 require __DIR__ . '/../thinkphp/start.php'; }else{ //worker进程 require __DIR__ . '/../thinkphp/base.php'; }*/ //方式二 require __DIR__ . '/../thinkphp/base.php'; if ($work_id >= $server->setting['worker_num']) { //如果是task进程 think\Loader::addNamespace('app', APP_PATH); //加载配置文件 $config_dir = __DIR__. "/../config"; var_dump(is_dir($config_dir)); if (is_dir($config_dir)) { $files = scandir($config_dir); foreach ($files as $file) { if (pathinfo($file, PATHINFO_EXTENSION) === 'php') { $filename = $config_dir . DIRECTORY_SEPARATOR . $file; think\facade\Config::load($filename, pathinfo($file, PATHINFO_FILENAME)); } } } }}
在后续课程中发现,在onPen中又会提示找不到类,修改一下代码 public function onWorkerStart($server,$work_id) { //定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); //加载基础 require __DIR__ . '/../thinkphp/base.php'; //注册命名空间 think\Loader::addNamespace('app', APP_PATH); //加载配置文件 $config_dir = __DIR__. "/../config"; if (is_dir($config_dir)) { $files = scandir($config_dir); foreach ($files as $file) { if (pathinfo($file, PATHINFO_EXTENSION) === 'php') { $filename = $config_dir . DIRECTORY_SEPARATOR . $file; think\facade\Config::load($filename, pathinfo($file, PATHINFO_FILENAME)); } } } }
登录后可查看更多问答,登录/注册
swoole创始人推荐,借助Swoole打造高性能直播平台
2.3k 18
1.5k 13
2.3k 13
1.6k 13
1.4k 13
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号