作者: David Upton 翻译: 郝银龙 整理: Hex、cchaha、沧蓝(排名不分先后) 来源: CodeIgniter 中国
资源和扩展
好了,我们已经相当完整的讲解了 CI,并且,我希望能给你留下深刻的印象。在这个过程中,我们自己也编写了一些代码。我敢肯定,当你看过我的一些代码后,你会开始思考:“我可以写这么好...”。每个人都有自己的风格,并且 CI 给你很多的自由。
在 CI 社区里有很多可以写出好代码的人,幸好他们中的许多人正准备利用业余时间做这件事情。所以,有很多代码能为您节省大量的工作。拿一个例子来说,你要创建一个数据取自数据库的动态图形,你可以坐下来好好写自己的代码,但实际上,至少有 3 个人已经解决了这个问题,并且他们都把其代码提供给了你。
最后一章介绍一些你可以借鉴的资源,使你的编码快捷又方便。CI 有一个繁荣和活跃的社区,并且可用的资源一直都在发生变化,所以,我也没有试图制作一个完整的清单,只是让你知道这里有什么,并且到哪里可以看到。
这是一个警告提示,太多的混乱代码很容易让人头晕。一些人写项目的时候,只注重代码的漂亮。大多数人都喜欢写代码,而没有写评论和注释的习惯。正因为这样,很多人就不容易理解一些库和插件的使用方法。
接下来,让我们看看这本书的最后一章所能给我们提供的帮助吧。
首先,让我们看看源代码。
然后,让我们看几个主题,并比较可用的代码。
最后,让我们看看更普遍的帮助源:在 PHP、MySQL 和 Apache 上。
CI 的用户论坛
CI 有两个主要的资源:
用户论坛的地址是 http://www.codeigniter.com/forums/ ,这里对大多数 CI 问题进行活跃的、几乎连续不断的讨论。评论和建议并不一定总有用(或准确),但也有一些“资深会员”,他们经常贡献很多智慧。它同样是一个非常友好的论坛;人们问一些非常明显的“菜鸟”问题,也会得到耐心并有价值的回复。有时 Rick Ellis 自己也会被一些东西所吸引,但他并没有去涉及所有领域确实是明智之举。
Rick Ellis 的目的和希望是:CI 的用户能够把“插件”或类库贡献出来用于帮助其他的 CI 用户。这个框架刚出现大约一年,但已经有了很多有趣的代码。
插件和类库的数量在稳步的增长,已有的插件和类库也在不断的更新。因此下一节并不是一个全面的介绍:只有一部分相关的说明是你觉得有用的。我很抱歉,一直以来我漏掉了很多好资料:请务必亲自查看 Wiki。
AJAX/JavaScript
在 Wiki 里包含了 2 个 AJAX 包:其中一个使用 XAJAX,另外一个使用 prototype.js/scriptaculous.js 类库。
有许多关于 PHP 的好书,包括《PHP Programming with PEAR》,作者是 Carsten Lucke、Aaron Wormus、Stoyan Stefanov 和 Stephan Schmidt,出版社是 Packt。
在你自己的机器上运行本地 Web 服务器,尝试看一下 http://www.apachefriends.org/en/index.html —一个免费提供 XAMPP 包下载的站点。它将安装一个 Apache Web 服务器、MySQL、PHP 和 Perl。如果 XAMPP 包对你来说太全面,请尝试这个站点上的 Minixampp,本书的代码就是在这个环境下编写的。
MySQL 同样拥有自己的网页— http://www.mysql.com/ —不过,如果你想免费下载最新版本,请到 http://dev.mysql.com/ 。(请记住虽然很多 ISP 都没有使用最新的版本。虽然 MySQL 的最新版本是 5,但是大多数 ISP 仍旧使用版本 4。这阻止了你使用某些更有趣的新特性,例如存储过程。)更多内容请参考《Creating your MySQL Database: Practical Design Tips and Techniques》, 作者是 Marc Delisle,出版社是 Packt。
虽然 MySQL 有它自己的工具,但是最流行(也是最常见的)的工具是 PHPMyAdmin。(更多内容请参考《Mastering phpMyAdmin 2.8 for Effective MySQL Management》,作者也是 Marc Delisle,出版社是 Packt。)
总结
在本章中,我们为你展示了一些当你开始用 CI 编程时要用到的资源。有很多现成的代码可以使用,你需要在使用之前好好的看看它们:不要一看到满足你需要的插件或类库就直接开始使用。你需要好好的研究这些代码,看看他们是如何工作的,这对你整体把握代码很有帮助,并且有利于你更好的理解它。不管怎样,只要你决定使用 CI 框架,你就能找到各种不同层次和复杂程度的类库,它们将完成很多要由你手工完成的任务。
我们详细介绍了这些类库: