极简框架 toknot 3.0 beta 发布,欢迎测试

2015-03-10 22:03:28 +08:00
 szopen
框架下载地址 https://github.com/chopins/toknot
相对于以前版本,现在精简了一些不必要的功能,将不常用功能移动到Lib目录。

框架主要功能:
1. 全命名空间开发,全面向对象
2. 路由器:支持URL直接映射为App的类名,并且URL不区分大小写,
分离HTTP请求Method到类方法上,方便开发RESTFull API
支持通过正则表达式定制路由表
3. 异常处理:PHP运行时错误转为异常;
错误回溯帮助快速定位问题代码,避免封装层次过多时无法找到问题点;
Notice,Warning转异常从而避免其被忽略,而出现问题代码。
通过异常定制HTTP返回状态码
4. 数据库:全PDO操作,全面向对象操作
5. 模板:一个简单的模板处理类
6. 自动加载:按命名空间名字自动加载类文件
7. 命令行调式
8. 其他轮子请到https://packagist.org寻找与下载

使用方法:
1. 初始化App: 命令行下执行 php -f /yourpath/Toknot/Toknot.php CreateApp
2. 配置 /your-app-path/YourAppNS/Config/config.ini
3. 配置Web服务器:将所有请求重写到 /your-app-path/YourAppNS/WebRoot/index.php

框架下载地址 https://github.com/chopins/toknot
3138 次点击
所在节点    PHP
9 条回复
phoenixlzx
2015-03-10 22:10:22 +08:00
这目录的命名方式.... 为何一股浓浓的 ThinkPHP 既视感...
szopen
2015-03-10 23:07:00 +08:00
@phoenixlzx 因为类自动加载器是根据命名空间来找文件的,所以这种目录命名是比较简洁的方式
raincious
2015-03-10 23:37:37 +08:00
不知道是不是有资格给建议,但是还是建议整理一下工作流,这样就不需要exit关键字之类的了。

另外main函数如果仅仅只做那一个功能(初始化一个实例然后返回给根scope),那么看不出它的意义,不如直接将初始化写到外面就好了。(是吧?)

另外render就是渲染器的意思,嗯。还有注释最好整理下,有些看上去是赶时间写的,看不太明白,比如kernel:: $standardAutoLoader的。

我只是扫过了几个单元,所以目前只看到这些。不过能看出你在这上头花了不少时间 :)
phoenixlzx
2015-03-11 00:14:07 +08:00
@szopen 我不懂PHP。。。我只是在吐槽开头大写的目录名233
ewex
2015-03-11 02:20:38 +08:00
文件、文件名开头大写的直接无视
iscraft
2015-03-11 09:48:44 +08:00
框架名字有种东京热的感觉
szopen
2015-03-11 10:08:36 +08:00
@ewex 这是个人喜好问题,不可能满足所有人的喜好
szopen
2015-03-11 10:14:15 +08:00
@raincious main函数是强迫症问题,Kernel:: $standardAutoLoader是历史遗留代码
lloydzhou
2015-10-01 05:05:03 +08:00
推荐一个精简的 Router 库做路由控制器 https://github.com/lloydzhou/router ,可以根据映射的 handler 自动从 request 获取变量,支持自定义 error handler 和 hook 。可以通过 hook 方便的定制参数过滤、登录检查等。

(new Router())
->error(405, function($message){
header('Location: /hello/world', true, 302);
})
->get('/hello/:name', function($name){
echo "Hello $name !!!";
})
->execute();
项目挺不错的。可以看看。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/175926

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX