主要功能特性及变更如下,感谢各位热心开发者的提交
利用命令composer create-project workerman/webman
新建的webman项目 app.controller_reuse
配置将默认为
false
,开发者仍然可以手动将其设置为true
开启控制器复用。
此变动不影响老项目。
提示
很多开发者习惯了传统框架每个请求都重新初始化一个控制器的模式,所以官方默认将控制器复用关闭。
关闭控制器复用后helloworld
压测性能损失约10%左右,但真实业务下性能损失可以忽略不计。
例子
<?php
namespace app\controller;
use app\model\User;
use support\Request;
class User
{
public function find(Request $request, User $user)
{
return $user->find(1);
}
}
感谢 377960738 的贡献
例如
public_path('css/main.css');
//相当于
public_path() . '/css/main.css';
感谢 377960738 的贡献
参见 https://github.com/walkor/webman-framework/pull/69
感谢 krissss 的贡献
-
)格式例如 /user/login-check
等同于 /user/loginCheck
等同于 /user/logincheck
其它更多变更请参考 github
威武霸气
👍🏻👍🏻👍🏻👍🏻
我爱老大
666
👍🏻👍🏻👍🏻👍🏻
越来越完美
支持控制器参数注入了,赞
👍🏻👍🏻👍🏻👍🏻
升级以后就报错:
更新到master试下,
composer require workerman/webman-framework dev-master
不行,报错了,加了 --with-all-dependencies 依然报错:
./composer.json has been updated
Running composer update workerman/webman-framework --with-all-dependencies
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
Problem 2
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
直接到vendor/workerman/下删除 webman-framework,然后执行
git clone https://github.com/walkor/webman-framework
好啦,谢谢大神,原来是composer还没更新^^
🐂🐃
老大威武,支持
@walkor
支持
支持控制器参数注入
是否可以支持
路由模型绑定
绑定呢https://learnku.com/docs/laravel/9.x/routing/12209#route-model-binding
路径中的参数直接绑定成一个 模型
第一个例子不就是你说的这个?
暂时没考虑加入这个特性
第一个例子不就是你说的这个?
不一样 第一个例子只是注入了 Model 没有 注入通过路由参数绑定的Model 实例
支持~
支持
牛的
👍
666
666
牛逼,越来越喜欢webman了
你应该说,越来越喜欢老大了
我想控制器复用和非复用的区别是什么?能具体列出几点吗?目前我感觉不复用可能会增加进程内存吧?
目前还已知一点,不复用构造函数多次加载(调用),复用则一次加载
我看了源码是这么理解这个__construct的。有内存上的区别的吗?就是多次访问这个控制器内存会无限增加吗?
webman遵守php的GC机制! ^_^
https://www.jianshu.com/p/d73b3ca418b0
复用不复用对内存没影响。
控制器复用与不复用区别参考手册 控制器
好的,已撸,谢谢回答
老版本如何升级到新版本?
666