宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

这篇文章将为大家详细讲解有关php中QPM框架指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

php有什么用

php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使得php经久不衰。

我们在使用框架处理一些事务的时候,一般会尽可能的把效率进行提升。本篇所要讲的QPM是一种针对程序开发的框架,特别是想要写daemon框架的小伙伴,QPM可以说是不错的选择。

1、说明

QPM是一种功能强大的web开发语言,但经常被遗忘。可以用于开发daemon程序,而用于开发健壮的命令行(CLI)程序。写daemon程序不需要处理各种各样的进程管理。QPM就是一个用来简化流程管理的类库。

2、作用

QPM实现了fork对象的写法,大大简化了fork代码的可读性,同时实现了一系列Supervisor的用法,有助于开发者制作健康的多程序。在未来的版本中,计划逐步开发信号处理和过程快捷的模块。

3、实例

//定义 mission1:每隔3秒打印一次进程信息, 无限循环。
$mission1 = function() {
    while(true) {
            echo "---mission 1, pid:".posix_getpid()."\n";
            sleep(3);
    }
};
 
//定义 mission2:打印信息后 3秒后退出。
$mission2 = function() {
            echo "+++mission 2,pid:".posix_getpid()."\n";
            sleep(3);
};
 
//配置: mission 1 和mission 2 同时在子进程中执行。mission 1 只允许在一个子进程中执行,mission 2 则允许2个子进程并行执行。
$config = [
    ['runnableCallback'=>$mission1],
    ['runnableCallback'=>$mission2, 'quantity'=>2]
];
// 使用multiGroupOneForOne 类型的supervisor 启动任务,意味着同组配置,当一个子进程退出后,会立即重启新的子进程继续执行任务。
qpm\supervisor\Supervisor::multiGroupOneForOne($config)->start();