开发实例与经验
Agent 从演示走进工位
把2026年第一季度按时间排一遍,会看到一个很直观的事实:模型发布的密度,已经超过了大多数团队消化它的速度。二月几乎每周都有旗舰级更新,三月由OpenAI收尾。但比「谁发了什么」更值得记下来的,是这一季真正改变的东西——AI的卖点从「回答得多好」,变成了「能不能把一件事从头做完」。一、一条压缩过的时间线时间事件关键信息1月12日AnthropicClaudeCowork研究预览桌面端通用智能体,可...
阅读全文 →
一条命令装好整站模板:UT 的 CLI 安装机制拆解
装一套UT的整站模板,很多人第一反应是把app/template/xxx拷进去,改一下.ut.config的TEMPFRONT,刷新——然后样式错乱、后台进不去、或者干脆白屏。因为一个模板工程不只是「一堆视图文件」。它还要装依赖模块、覆盖模型、搬静态资源、登记到模板表、切换配置指向、执行初始化SQL。六件事,漏一件就出问题。UT把这些打包成了一条命令:phpusualtoolinstalltemp...
阅读全文 →
MVC从零到跑出数据
上一篇聊了UT的整体结构,这一篇把镜头拉近,只讲一件事:在这个框架里,一个功能从零到上线,具体要写哪几个文件。用一个小例子贯穿——做一个「书目」模块,前台能列表、能看详情,后台能增删改。一、UT的MVC落在哪里传统MVC把控制器、模型、视图放在三个根目录下。UT是把三层塞进同一个模块目录里,再按「端」分一次:层位置职责不该做什么前端控制器modules/book/front/取参数、调模型、注入变...
阅读全文 →
UT 框架把「模块」当一等公民的 PHP 框架
第一次打开UT的源码目录,很多人会不适应:没有controllers/、models/、views/这三个熟悉的文件夹。取而代之的,是app/modules/下一个一个自成体系的业务模块。这不是省略,而是UsualToolFramework最核心的一次取舍——按业务切分,而不是按技术分层切分。本文基于7.5.6版本的实际代码,讲清楚它的目录结构、一次请求怎么走完,以及日常开发最常用的几个API。一...
阅读全文 →
简易短网址系统开发实例
第1步:泛解析开发短网址系统首要就是要进行域名泛解析。第2步:创建表表字段如下:原网址短网址唯一标志oldurlbz第3步:配置伪静态rewrite“^/([a-zA-Z0-9]+)$“/index.php?bz=$1last;第4步:首页代码片段(以UT为例):$bz=UTInc::SqlCheck($_GET[“bz“]);UTInc::GoUrl(UTData::QueryData(“表“,...
阅读全文 →
使用PHPMailer库实现发送电子邮件一例
引用项目:composerrequirephpmailer/phpmailer代码片段示例:usePHPMailerPHPMailerPHPMailer;usePHPMailerPHPMailerException;$mail=newPHPMailer(true);try{$mail->CharSet="UTF-8";$mail->SMTPDebug=0;//调试模式输出$mail->isSMTP...
阅读全文 →
Mysql类库单例模式的简单实现
是否使用单例模式并不会对性能产生较大影响,如Mysql在高并发环境下,单例模式还可能存在较大的性能问题。当然单例模式在某些单页面多次调用数据的环境下减少实例化,可以降低资源的浪费。例如Mysql类库改造如下:1.增加私有静态变量的定义:privatestatic$db;2.在Mysqli连接时判断变量附UTMysql类库改造代码://改造方法classUTMysql{//增加私有静态变量定义pri...
阅读全文 →
UT框架下使用Redis乐观锁进行高并发(例)
//表kucun,字段numsint//表log,字段uidint/logtimedatetimeuselibraryUsualToolIncUTInc;uselibraryUsualToolRedisUTRedis;uselibraryUsualToolDataUTData;$redis=UTRedis::GetRedis();$redis->watch(’sale’);//监测锁$sale=$...
阅读全文 →
用户跨平台跨设备而保持登录的解决方案之一
从APP到H5,从小程序到H5,从网站到网站......用户保持登录状态是一个老生常谈的话题,今天笔者介绍一个使用Token的方法。1.Token加密与参数组成Token携带用户信息,用户每项信息使用随机参数进行间隔。请注意这个随机参数每一次均为唯一,而致每一次桥接url携带的Token唯一。加密请使用RSA2,公钥作为请求端加密,私钥作为目标端解密使用,严格保密。同时,url除携带token外,...
阅读全文 →
Websocket防范恶意请求的一种方法
防范websocket恶意请求方法之一:请求连接时携带非对称加密字符串。方法步骤:1用户进入指定页后,服务器自动下发一个token值(已加密)随连接请求一同发送到websocket服务器。2服务器同时将token值(解密)储存,状态为0。3websocket服务器接收token值,进行解密并与储存的token进行比较,符合:状态更新为1,不符合:禁止连接。4伪造者必然要伪造这个token,但如果用...
阅读全文 →
