用CodeIgniter写了第一个企业网站

某个晚上,发现使用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写出来的东西,应该没有多少漏洞的吧~特别是这种小站 😀

http://furshop.xiaoxia.org/

用CodeIgniter写了第一个企业网站》有34个想法

  1. solu

    样式不错呀! 🙂 以前用过一下CI,一般需求都能完成了,现在想学习YII。话说TP刚更新到3,好像挺不错的样子!

    回复
    1. 王龙

      CI本身不强大,需要根据需求扩展,CI的源码并不复杂,如果漏洞即时修改即可。MySQL重写和优化后的性能超过Oracle绰绰有余,相信任何技术亦如此,勤动手才是哦

      回复
    1. Xiaoxia 文章作者

      很早就换啦,是你没有感觉出来而已。
      之前花了点时间去优化了一下apache,所以现在也用上了。

      回复
      1. ET

        哦哦,今天一回留言就跳到个错误页面……..页面然后写着Apache才发现,一直以为你都在用Home WebServer…

        回复
        1. Xiaoxia 文章作者

          我自己写的那个比较轻量,占内存很小。不过暂时不需要,现在我用的vps有512M的内存可以分配。
          好像Apache跟wordpress兼容的更好~

          回复
  2. Extreme

    呵呵,网站挺不错的。就是没法看看后台管理界面。求截图 / Guest权限帐号。
    不知道PHP还有Framework的小白表示:谢谢科普。

    回复
    1. Xiaoxia 文章作者

      后台帐号是
      user: admin
      pass: shop

      可以玩玩,我放上来也是demo来的。内容有增无减即可。

      回复
      1. Extreme

        测试啦!后台挺方便。
        一点小问题:编辑页面估计是套用添加页面的模板的,编辑状态下,侧边栏是“Add Product”,而不是”Edit Product”。”News”类也是这个问题。

        回复
  3. sqroc

    原来你也大三 – -! 我最近也想用CI写一个网站,不过不知道CI的性能如何~~先用着试试吧。。 话说你的方向也满广的。。什么都研究。。

    回复
    1. Xiaoxia 文章作者

      性能很不错的呀!!!CI算是我文章里提到的那些框架中,效率相当高的一个了。你可以看老外的评测文章!
      其实,我现在还不太在乎这框架的速度。我之前做的一些网站,瓶颈都是在数据库上的。而不是脚本效率上。

      回复
      1. sqroc

        嗯,数据库的瓶颈感觉主要是在搜索的时候很明显, 不过最近我在做类似sphinx的检索引擎感觉可以很好的解决数据库的这个问题。另外设置缓存貌似也不错。好像CI也支持缓存的,过几天去学习看看。

        回复
  4. jx

    网站样式(圆角),颜色搭配的很不错。
    这个网站的静态页面也是你设计的么,关于颜色搭配和静态页面设计,有推荐的资料和网站么。

    回复
  5. 王龙

    小虾,推荐你一个动态ORM库,国外的php-activerecord,我的网站和公司项目中加载了它,抛开性能不说,毕竟和Rails有一些差距,但是从开发效率和重用来讲都是很好的选择。加载至CI的hooks里就可使用。百度没有排到前面,官方站点是phpactiverecord.org 可以去看一下

    回复
    1. Xiaoxia 文章作者

      谢谢,o(∩∩)o…哈哈!等我打算写下一个站的时候,我参考一下。
      你现在也经常在玩框架吗?

      回复
      1. 王龙

        是的哦,(*^__^*) , 也是从TP转向的CI,之前公司老项目跑的Rails,被逼学习ruby,发现在rails的controller里有一些before_filter和after_filter之类的前置设定,CI中没有体现,就自己动了下源码,不过悲惨的是每次CI更新版本,我都要重新拷贝一次,麻烦死啦哇哈哈

        回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据