CodeIgniter 框架:1.免费,轻量级,容易安装,它能使你的编程生涯变得很轻松
2.CI
会减少你的代码量,这样你可以减少很多工作量:敲击键盘的次数减少了,代码错误减少了,你只需要很少的时间调试代码。代码量减少还意味着你只需要较少的空间来存放应用程序。
例子:
写一个 MySQL 数据库查询。可能的代码如下:
$connection = mysql_connect("localhost","fred","12345");
mysql_select_db("websites", $connection);
$result = mysql_query ("SELECT * FROM sites", $connection);
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
foreach
($row as $attribute)
print "{$attribute[1]} ";
}
用CI框架写:
$this->load->database('websites');
$query =
$this->db->get('sites');
foreach ($query->result() as $row)
{
$row->url;
}
两者比较一下 是不是少了好多代码啊。
第二个例子,现在让我们想象你正在用 HTML 写一个数据输入窗口,你想要一个下拉输入框。下拉框中有三个选项。代码如下:
value="1">www.this.com
value="2">www.that.com
selected>www.theother.com
CI 的写法和前例一样,因为它把相关内容放入一个数组,更容易由 PHP 进行处理:
$urlarray = array(
'1' => 'www.this.com',
'2' => 'www.that.com',
'3' => 'www.theother.com',
);
$variable .= form_dropdown('url', $urlarray, '3');
3.使你的网站更健壮,更具安全性
你不需要写很多代码,是因为 CI
提供了许多标准的功能,这些经过仔细推敲的框架内的代码,对安全性和输入进行了有效的校验和考虑。初学者往往没有足够的能力全面兼顾功能和安全。(这也是中高级程序员与新手之间能力差异的一个方面)
4.确保你的链接自动更新
设想你正在编写一个菜单页面,有许多超链接可重定向到其他页面。他们全部以传统的 HTML 格式编写:
后来,你决定转移网站到其他 URL。这意谓你必须仔细地去查找并修改代码中的每一处 URL,否则它们将无法正常工作。
CI 给你一个简单的函数,可以这样编写超链接:
echo anchor('start/hello/fred', 'Say hello to Fred');
CI 推荐你把你的 URL 放入一个配置文件中供你的脚本读取。CI 的 anchor 函数会自动从配置文件中提取相关
URL。因此,当你修改一个 URL 时,你只需要修改配置文件中的对应链接,然后所有超链接将自动更新。
5.防止对数据库的攻击:对表单输入的数据进行校验和处理
数据输入可能引发许多问题。因为 HTML
和数据库的限制,数据中总包含特定的符号—举例来说,省略符号和引号—可能导致你的数据库遭到攻击,最终得到你无法预料的结果。
解决方案是在把这些数据存入数据库前对这些数据进行相关处理。这样做会浪费一些系统时间,增加一些额外编码。
CI 的表单辅助函数会自动地完成这些工作。因此,当你编写一个输入框时:
echo form_input('username', 'johndoe');
CI 也隐式地执行下列校验函数:
function form_prep($str = '')
{
if ($str ===
'')
{
return '';
}
$temp =
'__TEMP_AMPERSANDS__';
// Replace
entities to temporary markers so that
//
htmlspecialchars won't mess them up
$str =
preg_replace("/(\d+);/", "$temp\\1;",
$str);
$str =
preg_replace("/&(\w+);/", "$temp\\1;", $str);
$str =
htmlspecialchars($str);
// In case
htmlspecialchars misses these.
$str =
str_replace(array("'", '"'), array("'",
"""), $str);
// Decode
the temp markers back to entities
$str =
preg_replace("/$temp(\d+);/","\\1;",$str);
$str =
preg_replace("/$temp(\w+);/","&\\1;",$str);
return
$str;
}
上述函数捕获像“&”这样的特殊字符,以便在你的页面提交时不会造成混乱。你应该知道,有些字符会引起问题。
并不是所有的用户都会中规中矩的输入符合要求的信息,你也不可能知道使用浏览器输入信息的是什么人,他们在想什么,做什么。你可以使用
CI 来防止输入不符合要求的信息。当然,你大可不必知道 CI 是如何在幕后为你做到这一切的,你只需要简单地输入如下代码:
echo form_input('username', 'johndoe');