想进行php的事务处理有下面几个步骤
1.关闭自动提交
2.开启事务处理
3.有异常就自动抛出异常提示再回滚
4.开启自动提交
下面是一个小示例利用pdo进行的php
<?php
想进行php的事务处理有下面几个步骤
1.关闭自动提交
2.开启事务处理
3.有异常就自动抛出异常提示再回滚
4.开启自动提交
下面是一个小示例利用pdo进行的php
<?php
适配器是一种特殊的库,它有一个父类和任意数量的子类。子类可以访问其父类元素,但不能访问其兄弟类的元素。在你的控制器中,适配器为类库提供了一种优雅的语法,因此类库会就此获益甚至会需要分解成离散的类。
适配器的源文件存放在system/libraries 目录下, 命名一个和类名字相同的文件夹,文件夹下存放该类。同时在该文件夹中,有一个子文件夹叫做 drivers在其中包含了所有的子类。
要使用一个适配器,你需要在一个控制器里用如下的初始化函数初始它:
$this->load->driver(‘class name’);
这里的class name 是你想加载的适配器的名字。 比如说你想加载一个叫做”Some Parent”的适配器,你可以这样:
$this->load->driver(‘some_parent’);
适配器类中的方法可以用如下的方式来调用:
$this->some_parent->some_method();
这些作为子类的适配器能直接通过父类调用,而不用初始化。
$this->some_parent->child_one->some_method();
$this->some_parent->child_two->another_method();请查看缓存适配器的文件缓存使用方法
适配器目录和文件结构布局的例子:
注意: 为了在大小写敏感的文件系统上维持兼容性,这个 Driver_name 目录必须使用 ucfirst() 函数处理。
所有的类库文件存放在system/libraries 文件夹。大多数情况下你需要预先在controller中初始化后才能使用它们:
$this->load->library(‘class name’);
class name是你想要使用的类名。例如,要载入“表单验证类”,你可以这样做:
$this->load->library(‘form_validation’);
一旦类库被载入,你就可以按照用户手册中的方法来使用它们。
此外,多个类库可以通过传递包含类库的数组一次加载。
$this->load->library(array(’email’, ‘table’));
辅助函数,顾名思义,是帮助我们完成特定任务的函数。每个辅助函数文件仅仅是一些函数的集合。例如,URL Helpers 可以帮助我们创建链接,Form Helpers 可以帮助我们创建表单,Text Helpers 提供一系列的格式化输出方式,Cookie Helpers 能帮助我们设置和读取COOKIE, File Helpers 能帮助我们处理文件,等等。
跟其他部分不同的是,辅助函数不是用类的方式来实现的。它们仅仅是一些简单的过程处理函数。 每个辅助函数处理一个特定的任务,并且不必依靠其他函数。
CodeIgniter 默认是没有载入辅助函数文件的,所以如果你想用辅助函数,就必须先载入它。 一旦被载入,辅助函数将全局可用(globally available),你可以在 controller 和 views 中使用它们。
辅助函数文件一般保存在 system/helpers 或 application/helpers 文件夹中。CodeIgniter 将会先在 application/helpers 寻找对应的辅助函数文件, 如果目录不存在或者目录下没有对应的辅助函数文件,CI 才会载入 system/helpers 下的辅助函数文件。
模型是专门用来和数据库打交道的PHP类。例如,假设你想用CodeIgniter来做一个Blog。你可以写一个模型类,里面包含插入、更新、删除Blog数据的方法。下面的例子将向你展示一个普通的模型类:
class Blogmodel extends CI_Model {
var $title = ”;
var $content = ”;
var $date = ”;
function __construct()
{
parent::__construct();
}
function get_last_ten_entries()
{
$query = $this->db->get(‘entries’, 10);
return $query->result();
}
function insert_entry()
{
$this->title = $_POST[‘title’]; // 请阅读下方的备注
$this->content = $_POST[‘content’];
$this->date = time();
$this->db->insert(‘entries’, $this);
}
function update_entry()
{
$this->title = $_POST[‘title’];
$this->content = $_POST[‘content’];
$this->date = time();
$this->db->update(‘entries’, $this, array(‘id’ => $_POST[‘id’]));
}
}
注意: 上面用到的函数是 Active Record 数据库函数.
备注: 为了简单一点,我们直接使用了$_POST。不过,这不太好,平时我们应该使用 输入类:$this->input->post(‘title’)