php ci框架优缺点,CodeIgniter 框架的优缺点

本文介绍了CodeIgniter框架的主要优点,包括其免费、轻量级、易于安装和使用,能显著减少代码量和调试时间。通过对比传统代码与CI框架的示例,展示了CI如何简化数据库查询和HTML表单创建。此外,CI提供内置的安全功能,保护网站免受攻击,并自动处理表单输入,增强应用健壮性。同时,CI的链接管理功能确保了URL的自动更新,方便迁移和维护。
摘要由CSDN通过智能技术生成

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)

{

print

$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');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值