今天为什么想起这个话题,也是由于今天已经收到第N次由于验证码错误不能登录后台的问题。现在看来,这成了学习
ThinkPHP的第一道坎

,不是说验证码有多难,而是一个思维习惯的问题。本篇可以算是由验证码引起的思考,虽然不是专门针对ThinkPHP来的,但是希望给大家提醒下,至少作为一个学习参考吧。
验证码本身不会难过一道小学算术题目,但是我发现却甚至难道了不少本科生,呵呵~其实是一个找数字对应字母的游戏。这说明了什么,说明很多开发人员的思维定势,而对于新事物的学习和掌握,思维定势是非常有害的。因为你的思维习惯在作怪,明明摆在你眼前的道路变得不通了。所以,通常遇到这种情况,我不会去告诉他们应该怎么做(事实上,我也已经清楚地写明了,呵呵~),因为我即使告诉他们怎么通过这个验证码,他们下次仍然会在其它地方范同样的错误。这个脉需要自己打通~我可以举出很多在使用ThinkPHP中会遇到的思维习惯的问题,例如不指定
模板文件名怎么渲染模板、为什么不用include而要import等…
之前在PHPChina也听到有人提到过这个问题,认为ThinkPHP的模式不太适合
PHP开发人员,因为需要一定的Java基础。首先,我需要说明的是,这个其实是开发人员自己的一个思维习惯而人为加大了各种语言之前的障碍,虽然ThinkPHP参考了Struts的某些思想,但是在PHP中所实现的仍然是一个PHP开发人员所能容易掌握的架构思想,无论是MVC、ORM还是对于所有
框架来说实现方面都有一定差异,但是最终体现的思想是一致的,只要具备一定的
面向对象的基础(这里说的是基础而已,就我自身而言,对面向对象仍然无法精通)的开发人员,了解的ThinkPHP的架构思想和操作模式后,就很快
入门了。相反,ThinkPHP的Import方法和using方法让无论是java开发人员还是DotNet开发人员都是倍感亲切的,ThinkPHP在无数细微之处给新手更多的体贴,让他们了解,任何语言都不应该是有界限的,因为思想是通行于任何语言范畴的。如果是资深的开发人员,就更加应该清楚,有时候自己往往并不只是在用一种语言,甚至经常在用自己不熟悉的语言,这也说明,语言仅仅是一种工具,而驾驭工具的应该是人,如果你不懂得各种工具的优势,就无法去发挥他们的所长。PHP相比较Java而言,有自身的不足,这个不足很明显,恰恰是因为PHP的自由所导致。框架的出现对以往的自由进行了一些约束和规范,但决不是束缚。无论是Java、DotNet还是PHP,甚至是Django、
Ruby,我们应该各取所长,融入自己的领域。
在我看来,学习任何事物,当然也包括框架的学习,是不应该报着以往自己的开发习惯或者对某个框架的使用习惯来衡量好环,框架没有好环之分,只有适合与否。更不应该用自己的长处去和对方的短处来比较,事物都要一分为二的看待,既不崇拜也不诋毁,找到适合自己的思想,并抱着一颗宽容的心去友善的看待。在你没有清楚认识一个框架之前,就一棍子打死是不明智的。(&^%$#感觉在说菜根谭~)只要你能找到一个亮点,那说明这个仍然是值得去学习的,凡集大成者,往往是学习的很细小的东西。三人行,必有我师,抱着谦虚好学的心态才能真正掌握知识。
而在开发过程中,最危险的也是思维习惯,因为每个人都有自己的思维习惯,所以往往把客户的需求按照自己的习惯来理解,而没有去认真分析和研究需求,和认真阅读团队指定的规范。
我们希望通过
官方的引导,让更多的PHP爱好者喜欢框架,喜欢ThinkPHP,喜欢开源,喜欢贡献。
不要抱怨ThinkPHP的不足,因为我们一直在努力!