-
Notifications
You must be signed in to change notification settings - Fork 27
/
preface.html
97 lines (97 loc) · 10.2 KB
/
preface.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>前言</title>
<link href="css/main.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/main.js"></script>
</head>
<body>
<div id="container"><a name="top"></a>
<div id="header">
<div class="title"><a href="preface_cn.html">上一页</a> | <a href="1.html">下一页</a> | <a href="table_of_contents.html">目录</a> | <a href="#bottom">转到页尾</a></div>
</div>
<div id="content">
<div class="main">
<h1>前言</h1>
<p>本书详细讲解了 CI 的一些主要特性。本书并不包含 CI 的所有内容和全部细节。CI 有一本出色的在线《用户指南》,它详细讲解了大多数的内容。它可以与 CI 一起下载。</p>
<p>本书并不想重复《用户指南》中的内容。相反,本书试图让你轻松了解 CI 框架是如何工作的,那么,你可以先决定它是否对你有价值,然后再阅读本书。</p>
<p>在试图解释 CI 是如何工作时,本书的某些内容已经超出了《用户指南》的范围。(《用户指南》更注重实际应用。)这意味着在“实战训练”中有一些非常理论化的章节。我发现这有助于理解 CI 内部的运行机制;否则,当你遇到令人费解的错误消息时就不容易解决。</p>
<p>我尝试在展示 CI 代码段时使用一个“真实世界”的例子。我想展示的是,CI 可以用于开发一个正式的网站。目前,我手头上有几个正在运行的客户网站,我希望依照我指定的方式去对其进行检测控制以及测试,同时记录下程序操作行为,在我需要时我可以得到一份相关的报告。</p>
<p>本书中的范例无法将 CI 的功能一丝不漏的完全展示,但我想这些范例应当还是在一定程度上展现了 CI 在简化处理常用应用(以及一些非常用应用)上的能力。</p>
<p>本书系统地讲解了 CodeIgniter 的主要特性,并配合相应的代码范例进行了详尽的解释,使你能够由浅入深地掌握 CodeIgniter。</p>
<h2>本书内容概述</h2>
<p><em>第一章</em>讲解了 CodeIgniter 能做什么?什么是“框架”?如何安装 CodeIgniter?还对开源商业模式进行了深层次讨论,并在结尾给出了 CodeIgniter 的一些不足。</p>
<p><em>第二章</em>讲解了安装 CodeIgniter 会发生什么?会自动创建哪些文件?本章给出了安装 CodeIgniter 所需软件的详细说明,并讲解了如何对 CodeIgniter 进行基本的配置。</p>
<p><em>第三章</em>讲解了 MVC 如何帮助组织一个动态网站。本章更详细的阐述了当 CodeIgniter 收到 Internet 请求后,通过分析该请求并解析相关程序来执行的过程。然后介绍 CodeIgniter 的语法规则,并对 CodeIgniter 网站上你能找到的(或自己编写的)各种不同类型的文件或类进行了详细的解释。在本章的结尾部分,会告诉大家一些在网站设计中极具实用性的技巧和提示。</p>
<p><em>第四章</em>讲述了如何设置一个数据库来配合 CodeIgniter 的使用,还有如何使用 Active Record 类来操作数据库。</p>
<p><em>第五章</em>涵盖了创建视图的各种方法,如何快速创建 HTML 表单,如何使用 CodeIgniter 的验证类验证你的表单。</p>
<p><em>第六章</em>讲述了一个对任何网站都有影响的基础问题,即 Session 管理和安全;同时我们也来探讨一下 CodeIgniter 的 Session 类。</p>
<p><em>第七章</em>涵盖了 CodeIgniter 使用对象的方式,以及你能够以各种不同的方式编写和使用你自己的对象。</p>
<p><em>第八章</em>涵盖了 CodeIgniter 中用于测试的类:单元测试、基准测试和“分析器”,通过这些方法,CodeIgniter 可以帮你在不影响当前数据的情况下测试数据库。</p>
<p><em>第九章</em>讲述了通过使用 CodeIgniter 的 FTP 类和 Email 类来简化通讯,并使用 XML-RPC 从 Web 2.0 的世界中获取信息。</p>
<p><em>第十章</em>讨论了一些能帮你解决建站常见问题的 CodeIgniter 类和类库,例如:日期辅助函数、文本和 Inflector 辅助函数、语言类和表格类。</p>
<p><em>第十一章</em>讲述了一些有用的 CodeIgniter 功能和辅助函数:文件辅助函数、下载辅助函数、文件上传类、图像处理类和 ZIP 类。</p>
<p><em>第十二章</em>涵盖了探索你的 config 文件、使用诊断工具、服务器之间的潜在区别和一些与安全相关的提示。</p>
<p><em>第十三章</em>告诉你如何使 CRUD 操作一般化,你可以用两个类来实现:一个用于控制器,另一个用于 CRUD 模型。</p>
<p><em>第十四章</em>讨论了一些代码范例,这些范例综合使用了之前章节中逐步讨论的功能。</p>
<p><em>第十五章</em>介绍了一些在你编写 CodeIgniter 程序时会用到的资源,例如:AJAX 和 JavaScript 类库、身份验证、图表和 CRUD。</p>
<h2>阅读本书你需要什么?</h2>
<p>本书中,我们假定你已经安装了下列软件包:</p>
<ul>
<li>PHP 5.4 或以上版本</li>
<li>一个运行中的 Web 服务器</li>
<li>MySQL、MySQLi、MS SQL、Postgre、Oracle、SQLite 或 ODBC 中的一种</li>
</ul>
<h2>约定</h2>
<p>在本书中,你会发现许多不同的文本样式以区别不同的信息类型。下面是一些文本样式的范例,以及他们的含义。</p>
<p>我们有三种文本样式。</p>
<p>一个代码块将显示为下列样式:</p>
<div class="code">
<div class="title">
<div style="float:right"><img class="copyCodeImage" src="images/copycode.gif" /><a href="javascript:void(0)" onclick="CopyCode(this)">复制代码到剪贴板</a></div>
<div style="clear:none">PHP 代码</div>
</div>
<pre class="php"><span style="color: #0000ff;">$active_group</span> = <span style="color: #ff0000;">"default"</span>;
<span style="color: #0000ff;">$db</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'default'</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'hostname'</span><span style="color: #66cc66;">]</span> = <span style="color: #ff0000;">""</span>;
<span style="color: #0000ff;">$db</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'default'</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'username'</span><span style="color: #66cc66;">]</span> = <span style="color: #ff0000;">""</span>;
<span style="color: #0000ff;">$db</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'default'</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'password'</span><span style="color: #66cc66;">]</span> = <span style="color: #ff0000;">""</span>;</pre>
</div>
<p>当我们想请你注意某特定部分的代码块时,相关的行或内容将被加粗:</p>
<div class="code">
<div class="title">
<div style="float:right"><img class="copyCodeImage" src="images/copycode.gif" /><a href="javascript:void(0)" onclick="CopyCode(this)">复制代码到剪贴板</a></div>
<div style="clear:none">HTML 代码</div>
</div>
<pre class="html4strict"><span style="color: #009900;"><span style="color: #000099;"></head></span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/body.html"><span style="color: #000099;"><body></span></a></span>
<span class="bold"><span style="color: #009900;"><a href="http://december.com/html/4/element/h1.html"><span style="color: #000099;"><h1</span></a> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">"test"</span><span style="color: #000099;">></span></span><span style="color: #009900;"><span style="color: #000099;"><</span>?php echo $mytitle; ?<span style="color: #000099;">></span></span> <span style="color: #009900;"><span style="color: #000099;"></h1></span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/p.html"><span style="color: #000099;"><p</span></a> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">"test"</span><span style="color: #000099;">></span></span><span style="color: #009900;"><span style="color: #000099;"><</span>?php echo $mytext; ?<span style="color: #000099;">></span></span> <span style="color: #009900;"><span style="color: #000099;"></p></span></span></span>
<span style="color: #009900;"><span style="color: #000099;"></body></span></span></pre>
</div>
<p><strong>新名词</strong>和<strong>重要文字</strong>采用粗体字。例如在屏幕上、菜单或对话框中,以我们的文本样式则显示为:“单击<strong>下一步</strong>按钮以转到下一个屏幕”。</p>
<p class="important">警告或重要提示将显示在这样的方框中。</p>
<h2>读者反馈</h2>
<p>我们非常欢迎读者能够给我们反馈。让我们了解你对本书有什么想法,喜欢(或可能不喜欢)什么。读者反馈对我们今后的改进工作十分重要,你也会从中受益良多。</p>
<p>要给我们发送反馈,只需简单的写一封 Email 到 <a href="mailto:[email protected]">[email protected]</a>,不过要在邮件标题中写清楚书名。</p>
<p>如果你需要我们出版一本书,请在 <a href="http://www.packtpub.com" target="_blank">www.packtpub.com</a> 网站中的 <strong>SUGGEST A TITLE</strong>(建议书名)中给我们发信息,或发 Email 到 <a href="mailto:[email protected]">[email protected]</a>。</p>
<p>如果有你精通的主题,且你对写作或对本书作出贡献感兴趣的话,请到 <a href="http://www.packtpub.com/authors" target="_blank">www.packtpub.com/authors</a> 查看我们的作者指南。</p>
<h2>客户支持</h2>
<p>现在,你是一本 Packt 书的“自豪”持有人,我们有很多事情可以帮助你,以便你从你的购买中得到最大的收获。</p>
<h2>下载本书的范例代码</h2>
<p>访问 <a href="http://www.packtpub.com/support" target="_blank">http://www.packtpub.com/support</a>,并从书名列表中选择本书,以便下载本书的范例代码或附加资源。然后将显示可供下载的文件。(译注:<a href="http://codeigniter.org.cn/download_files/code.zip">点击这里直接下载范例代码</a>。)</p>
<p>下载的文件中包含如何使用它们的说明。</p>
<h2>勘误表</h2>
<p>虽然我们尽全力保证内容的准确性,但还是会产生错误。如果你在我们的任何一本书中发现错误—也许是文字或代码错误—如果你报告给我们,我们将不胜感激。这样做可以使其他读者免受该错误的影响,并有助于改善本书的后续版本。如果你发现任何勘误,请通过访问 <a href="http://www.packtpub.com/support" target="_blank">http://www.packtpub.com/support</a> 来提交他们:选择你的书,单击 <strong>Submit Errata</strong>(提交勘误)链接,然后输入勘误的详细内容。一旦你的勘误通过审核,你提交的内容将被接受,并添加到已存在的勘误表中。你可以从 <a href="http://www.packtpub.com/support" target="_blank">http://www.packtpub.com/support</a> 通过选择你的书名来查看已存在的勘误表。</p>
<h2>问题</h2>
<p>如果你有任何关于书籍方面的问题,你可以通过 <a href="mailto:[email protected]">[email protected]</a> 联系我们,我们会尽最大的努力来解决它。</p>
</div>
</div>
<a name="bottom"></a>
<div id="footer">
<div class="title"><a href="preface_cn.html">上一页</a> | <a href="1.html">下一页</a> | <a href="table_of_contents.html">目录</a> | <a href="#top">转到页首</a></div>
<div style="clear:none">前言</div>
</div>
</div>
</body>
</html>