刚开始在用thinkphp开发项目的时候,还是有很多惊喜的。因为之前一直是在用公司内部的框架,虽然代码修改起来灵活,但是毕竟工能还是比较有限的。最让我觉得惊讶的是有模板继承,这个功能很叼。
并用像Model层不需要定义,可以自己生成代码,在Model不复杂的情况下可以进行快速开发,这点也是非常棒的。
如果拿TP用来做BS结构的软件,应该是一个很不错选择,但是...
我刚好用TP是来做一个网站的,而且对URL要求非常之高。懂得SEO的人都知道,
www.xx.com/abc 和www.xx.com/abc/以及和www.xx.com/abc.html对搜索引擎意义是完全不一样的。
可是我刚好想生成www.xx.com/abc/这样的URL,竟然无法解决。
后来我只好生成www.xx.com/abc/index.html,然后再监听事件去掉index.html。
昨天晚上看源代码的时候,发现是被rtrim掉的,估计是为了和后缀拼接时不会多出/字符。不过我觉得应该是拼接的时候再rtrim,这样就不会了。
看了TP框架的代码,竟然发现核心代码几乎都是一个人写的,太佩服了。不过真心希望URL处理这块下一个版本能升级一下。特别是路由反转
这样在项目复杂的时候我还是担心会出现差错。
还有,分页组件功能,为啥模板部分要放在类里面呢,不单独一个模板文件,然后让我们把分页类继承下来扩展呢?
目前的分页类除非自己重新实现一个,可是这么出名的TP框架为啥。。。
要不然,第一页总是带p参数,如果我好好的优化了一个www.xx.com/abc/,然后第到了第二页,再点回来,就又变成原本的www.xx.com/abc/p/1.html去了。。。变成一个网站有两个重复的URL了。这对SEO也是不友好的。
还有还有,URL不支持路由反向解析。这个作者是有出面解析了,说是性能,可是这个功能真的很有用。
另外,希望直接在框架的包里面预留一些空的适配接口,虽然我们可以自己定义,但是可能项目刚开始的时候不会考虑这么多。