首先我是小白,提到的问题别笑话我,对于技术性的问题真的是一窍不通,之前接触过Medoo,感觉它很简单,小白一学就会。不过之前没有使用任何框架,都是.php文件直接写数据库操作。拿来做app的api接口用,都是增删改查。
//比如之前都是这样写的,访问.php文件即可:
<?php
require 'database.php';
$user = $Db->select('user',['name','phone'],['userid'=>[10000,10001]]);
echo json($user);
//现在使用这个框架安装了webman提供的Medoo插件。操作数据库的写法都是一样。
<?php
namespace app\controller;
use support\Request;
use Webman\Medoo\Medoo;
class IndexController
{
public function index(Request $request)
{
$user = Medoo::select('user',['name','phone'],['userid'=>[10000,10001]]);
return json($user);
}
}
我想问的是既然都一样,为什么要套上一层webman壳?,感觉多余呢。直接php文件写不是更简单吗~!而且webman的代码还要多出很多,哈哈哈!
我在想,使用webman+Medoo后是不是要比直接php文件引用Medoo性能更好,速度更快,比如请求速度,并发能力什么的,是不是如果用户访问量大的时候webman+Medoo要比我之前那种写法更能扛,不太懂!!
希望大神能告诉我这其中的“所有”区别,以解我心中疑惑,不胜感激!!!
这种问题直接问
AI
吧,回答会更详细,回答中某一点看不懂还能继续针对性的问下去。这位提问者的疑问其实非常真实,也很有代表性,很多 PHP 小白、从“单文件写 API”起步的开发者,在接触 Webman 或 Swoole、Workerman 等“壳”时都会有同样的问题:
🧠 一句话回答你的疑惑:
Webman + Medoo 的确在结构上更复杂一些,但它换来的是性能、可维护性、稳定性和扩展能力的巨大提升。
✅ 一步步对比说明:
.php
就能跑🧪 举个“性能对比”例子:
假设你的 API 接口被访问了 10,000 次:
原生
.php
文件模式:$Db
对象 → 处理完销毁。Webman 模式:
💡 为什么框架“看起来麻烦”,但长远更好?
你的项目越大,Webman 的好处越明显:
🧩 小结给小白的建议:
.php
📌 如果你在 Webman 里还是想像以前一样写简单点,我也可以教你:
是不是和你原来写的
.php
代码几乎一样简单?😉没错!能提前提出问题是好的!
你感觉之前的模式很简单,很好用也能满足需求,对的,这也是php的一个极大的优点,易上手,很容易做出功能性的东西,所以被市场接受。
但是,这种fpm方式是每来一个请求,都需要进行解释php代码(若无jit),加载解释结果到内存(需要一定时间),建立数据库连接(注意此步骤非常耗时),进行CURD,返回响应结果,对象析构、资源释放-》完成一次响应。
这样有一个十分显而易见的好处就是:你不需要担心内存泄漏、不用担心MySQLi连接释放,不需释放预处理语句,不需……担心各种资源竞争:但是,除了响应请求之外的大量步骤可以被节省(或者说复用)。
workerman来了:启动后,将代码资源加载到内存中后,之后每次来请求,直接复用之前的MySQLi连接,直接进行CURD,返回响应结果:完成请求。能带来几何倍数的并发量提升。
所以:如果你的并发量峰值不过200甚至500qps,你原来的fpm模式完全可以满足要求。
简单就数据库而言:用框架大佬已经写好了,不用每次新项目重复去写数据库连接方法。一点要去熟悉任意一个框架的使用,在实际工作中会省很多时间。