某个晚上,发现使用PHP Web Framework来开发一些功能比较一般的商业网站效率挺高的。因此,有兴趣接触一下这方面的东西,免得我每次给自己的应用编写站点都Copy一大堆重复使用过的代码。搞Web的人太多了,同时涌现出来的Web框架也太多了,不知道选择哪一个好,怕选到一个不适合自己的,就浪费了不少时间了(虽说也能从中学到一些东西)。
上网搜索了一下,国外很多人推CakePHP,Zend Framework,Yii,Symfony,CodeIgniter等。在某论坛上看到有很多人推ThinkPHP(TP)的,好像人气挺高的。之前有个同学跟我推荐过ThinkPHP,我当时对基于别人的基础上开发站点还不怎么依赖,没多大兴趣。这次上官网看了一下,没找到在线的Example代码,所以没有理会。
后面看到有人推荐CodeIgniter(CI),听起来也挺不错的,于是上官网看了一个20分钟建博客的视频教程。从此就感觉到用它的框架的确比我之前自己写的那个框架方便多了!虽然要遵循一些规矩比较多,但是功能很强大,很全!点这里可以观看视频“Create a Blog in 20 Minutes”。
第二天在家里,就把CodeIgniter下载下来,为了学习一下,开始写一个新的小站来连连手。第一时间想到的是,给以前初二的时候帮亲戚写的一个家俱网站改版!需求比较简单,就是一个类似CMS的站点,能够支持对新闻、产品信息的CRUD基本功能就行了。
接触新的东西总是兴趣很大,劲头十足的。所以花了不到三天时间,实现了基本功能,就罢工了。目前仅作练习而已。在Coding的过程中,基本上可以脱离网络,因为下载的CodeIgniter压缩包里已经包含了完整的HTML的用户文档,每个功能都给出了具体示例,所以用起来得心应手。特别是数据库操作、分页、上传和图片处理方面,直接从例子里copy代码,稍微改动一下就很足够了。
三天Coding在controller、model上的代码行数大概为500行左右。包括一个200行左右代码的controller以及每个数据库表对应的model。
网站的版面如下:
可以访问此站点,测试各方面的功能。感觉CI写出来的东西,应该没有多少漏洞的吧~特别是这种小站 😀
挺清爽的,练练手算是很不错了。 小虾新年快乐。
新年快乐!
你现在工作了吗?
还没毕业呢,不过快了。
如果毕业后你也选择工作,希望你能进入Google,加油,好好干
样式不错呀! 🙂 以前用过一下CI,一般需求都能完成了,现在想学习YII。话说TP刚更新到3,好像挺不错的样子!
扼,好像喜欢偷懒的人真的很多。
确实,这玩艺一旦出了漏洞,那就真的不好玩了。。。
CI本身不强大,需要根据需求扩展,CI的源码并不复杂,如果漏洞即时修改即可。MySQL重写和优化后的性能超过Oracle绰绰有余,相信任何技术亦如此,勤动手才是哦
没想到你也选了CodeIgniter,哈哈
嗯!凭感觉选的。。。看来我选到合适的东西了
确实挺简洁的~
简洁是指我css样式做得好吗?
即指CodeIgniter写起来简洁,也指你的网页风格简洁。简洁美啊~~~哈哈
你怎么换了Apache…
很早就换啦,是你没有感觉出来而已。
之前花了点时间去优化了一下apache,所以现在也用上了。
哦哦,今天一回留言就跳到个错误页面……..页面然后写着Apache才发现,一直以为你都在用Home WebServer…
你自己的home server呢?
我自己写的那个比较轻量,占内存很小。不过暂时不需要,现在我用的vps有512M的内存可以分配。
好像Apache跟wordpress兼容的更好~
nginx也不错的!我的vps就是用它。
嗯,以后有机会我也会用到它的
呵呵,网站挺不错的。就是没法看看后台管理界面。求截图 / Guest权限帐号。
不知道PHP还有Framework的小白表示:谢谢科普。
后台帐号是
user: admin
pass: shop
可以玩玩,我放上来也是demo来的。内容有增无减即可。
测试啦!后台挺方便。
一点小问题:编辑页面估计是套用添加页面的模板的,编辑状态下,侧边栏是“Add Product”,而不是”Edit Product”。”News”类也是这个问题。
嗯!我偷懒了,所以这自然不算啥问题了,o(∩∩)o…哈哈!
这个要如何登陆后台?我现在想做个网页学学
原来你也大三 – -! 我最近也想用CI写一个网站,不过不知道CI的性能如何~~先用着试试吧。。 话说你的方向也满广的。。什么都研究。。
性能很不错的呀!!!CI算是我文章里提到的那些框架中,效率相当高的一个了。你可以看老外的评测文章!
其实,我现在还不太在乎这框架的速度。我之前做的一些网站,瓶颈都是在数据库上的。而不是脚本效率上。
嗯,数据库的瓶颈感觉主要是在搜索的时候很明显, 不过最近我在做类似sphinx的检索引擎感觉可以很好的解决数据库的这个问题。另外设置缓存貌似也不错。好像CI也支持缓存的,过几天去学习看看。
CI的缓存太简单了,原理简单,实现也简单 😀
网站样式(圆角),颜色搭配的很不错。
这个网站的静态页面也是你设计的么,关于颜色搭配和静态页面设计,有推荐的资料和网站么。
都是PHP动态页面来的哦!
样式方面,自己调的,凭感觉吧。我喜欢简简单单的。
明白是PHP动态页面,我说的“静态页面设计”指网站的外在表现。~~
理解了!这圆角与阴影是我在 http://www.smc2013.org 这个网站上学习的!
小虾,推荐你一个动态ORM库,国外的php-activerecord,我的网站和公司项目中加载了它,抛开性能不说,毕竟和Rails有一些差距,但是从开发效率和重用来讲都是很好的选择。加载至CI的hooks里就可使用。百度没有排到前面,官方站点是phpactiverecord.org 可以去看一下
谢谢,o(∩∩)o…哈哈!等我打算写下一个站的时候,我参考一下。
你现在也经常在玩框架吗?
是的哦,(*^__^*) , 也是从TP转向的CI,之前公司老项目跑的Rails,被逼学习ruby,发现在rails的controller里有一些before_filter和after_filter之类的前置设定,CI中没有体现,就自己动了下源码,不过悲惨的是每次CI更新版本,我都要重新拷贝一次,麻烦死啦哇哈哈