自学PHPCMS的苦与乐

原创 ningcaichen66 随笔 PHP 202阅读 2017-05-08 16:53:43 举报

PHPCMS的级别是一个开源项目,而不是一个PHP框架。至于框架和开源系统的区别,参看我写的另外一篇文章吧。

它的优点有很多,如:

1:基于模块化编程,不但有了很多现成的功能模块,如:首页模块,投票模块,采集模块等,减轻了开发的负担。同时采用安装和卸载功能模块的特点,让系统变得灵活起来。

2:基于MVC,以及面向对象,单入口等特点,让它的整体架构变得清晰、可爱。

3:自带模板解析引擎,这符合了一个可行性开源系统的特点。

4:模型和自定义模型,让扩展功能变得方便,以至于可以开发出更多独特需求的项目。

5:熟练应用它,可以在几个小时之内开发一个常见网站。

6:可与discuz等论坛结合。让你的项目发挥更大的作用。比如做站群,做用户信息通信,做单点登录系统等等。

7:你可以到PHPCMS的论坛上承接项目,赚点外快;

所以,它是值得研究和学习的,也是PHP开发项目的最佳综合实践代表之一。

但是它也有自己的缺陷:

1:入门比较高,需要有PHP的基础,不大适合零基础的人学习。

2:适合做项目,但不适合用来学PHP,比如即使你要打印一个hello world,也要绕个半天。所以应该是学了PHP再来用它,而不是通过它来学会PHP。

3:它是直接面对项目开发,自然就有会很多行业术语,这会带来很多莫名其妙的难以理解,加大学习负担。导致对它的灵活使用需要比较长的时间。如,初学者看到“频道”或者“模型”就很可能感觉莫名其妙、不知所云了,因为这是我当初学PHPCMS的感受。

4:很多动态标签突如其来,更是不知其所以然。如:{pc}{/pc}。这些在其他开源系统甚至PHP原生态里都看不到...

学习方法:
1:要多接触它,使用它,即使晓得会遇到解决不了的问题,也要多查资料去试着解决。

2:多看开发手册,多问百度、谷歌等。

3:多和学的好的过来人交流,但不要动不动就提问,可能没多少人喜欢一味的回答你。自己要注意一些技巧。

4:要想深入的学好它,还是要加强PHP的基础学习,让应用和理论联系起来。

注意事项:

1:学了它还要学PHP吗?

当然,它只是PHP的一个系统级的应用例子而已,并不能代表PHP的所有内容。

2:学习它和学习PHP的关系是什么?

你最终是要学会PHP的,而不应该只是学会PHPCMS,否则你也深入不了它。所以态度应该是:用它来提升你的技术水平,而不是一辈子用它来做饭碗。反过来,如果你有了全面的PHP基础,比如PHP的面向对象你很熟悉,PHP的常用函数和类库你都熟悉,那你学习它,也是很轻松的一件事了。

3:不要迷信和迷恋。

像这种开源系统多达几十个上百个,所以不要迷信某个开源系统。无知才导致迷信。而且每个开源系统都有自己的擅长领域和缺陷之处,也都有瑕疵在里面。比如如果文章模块中的缩略图上传的时候在火狐浏览器里没反映,你该怎么办?此时还是要用你所学的所有前端和PHP知识来解决它。

所以关系应该是:学习开源系统,一个是为了承接项目的快速使用,另外更重要的是为了提升PHP水平。只有水平提高了,才会适应的了多如牛毛的开源系统,因为还有如:Discuz,Ecshop,PHPWind,DedeCMS......何时才是个头啊。

4:那么,什么才是学会PHPCMS?

不是简单的写个模板,这是前端知识,也不是会模仿着会套个首页模板,这知识量太少了。而是应该要深入了解它的架构,如:缓存机制,模板解析引擎等。否则你很多项目中的那些稀奇古怪的要求可能就难以实现了,会让你头大的很。

所以,要想让PHPCMS真正的为你承接的项目做一条龙的全程服务,让你安心的用它,光会套个模板是远远不够的,因为比如有些信息你可能需要临时计算的,甚至还得修改数据库。如果没有对它的底层原理很好的认识,可能你很久都难以深入。

比如,你可能很久都不大清楚什么叫“频道”,什么叫“模型”,怎么做采集,怎么写插件,怎么结合其他的高效工具如:redis缓存,怎么做数据库优化,怎么做负载均衡,怎么做站群......随着对这些的深入认识,你能交流的人会越来越少,因为他们都达不到你这个级别,那么此时的你要突破瓶颈,就得靠你自己了,靠你要回去学PHP了,是全面的学PHP......

所以,它也是一把双双刃剑,可以给你带来快速开发,也可以让你头痛很久,信心被不停的打击。

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复