系统级异常处理函数: . void raise(Object Exception) 抛出一个异常. Ex.
raise(new Exception("test"));
raise(new SQLException("test2"));
........ . Object catch(string ExceptionName) 捕获异常 Ex. if(catch('SQLException')) { do somethings}
if($e = catch('SQLException')) { do somethings} . string __finally(void) 返回所有未捕获异常的Stack结构. 1. pfcInputStream - 输入流处理类 $instream = new pfcInputStream(); $in = $instream->parse_incoming(); //取得输入的数据到 $in数组. 访问: $in['test'] 代表取 客户传来的 test 变量的值. 可以是 _GET, _POST, _COOKIE, _SESSION中任意一种. $in['_GET']['test'] 表示取 _GET传来的值中的 test 变量的值
$in['_POST']
$in['_COOKIE']
$in['_SESSION']
$in['_FILE']2. pfcOutputStream - 输出流处理类 对外方法: void add_output(string $str) 将字符串添加到输入流中.
string get_content(void) 取出缓冲中的内容.
void clear_buffer(void) 清空缓冲区
void do_output(void) 输入缓冲中的数据.3. pfcTemplate - 模板处理类
定义的常量
define('UNDEFINE_TAG_KEEP', 1);
define('UNDEFINE_TAG_REMOVE', 2);
define('UNDEFINE_TAG_COMMENT', 3);
对外方法 constructor pfcTemplate(string $root, byte $undefineTag = UNDEFINE_TAG_KEEP, $defaultExt = '.tpl'); 参数: $root 模板处在根目录
$undefineTag 未定义标记处理. UNDEFINE_TAG_KEEP 保留
UNDEFINE_TAG_REMOVE 移除
UNDEFINE_TAG_COMMENT 注释掉 $defaultExt 默认模板扩展名. 在set_file时如果有此选项可以不输入 set_file的第二个参数. void setRoot(string $root) 默认模板根目录
void setDefault_ext(string $ext) 设置默认扩展名 void setFile(string $name, string $fileName = '') 添加一个文件到模板可解析的文件中.
参数:
$name 模板名称
$fileName 对应的文件名称, 本参数如不指定, 则默认为 $name + 模板的默认扩展名. 异常:
文件不存在或无权限读取时, 抛出 TplException void setString(string $name, string $buf)
参数:
$name 模板名称
$buf 模板内容.
void setBlock($parent, $name) 循环
功能:
设置可重复区域,
参数:
$parent 所属父模板名称, 可以是任意已经设置的 模板名称,或任意区块.
/********
$name本块设置后的名称, 可用 $tpl->parse($name) 来输出.
********/
异常:
父级模板中不存在此区块, 则抛出 TplException 异常
void setVar(mixed $key, string $val = '', string $file = '')
功能:
对已经存在的模板 设置变量.
参数:
$key 变量名称, 如果是数组则为 $k => $v 形式.
$val 变量值, 如果第一项用数组, 此项不需要了.
$file 要设置的文件, 如不指定则使用 模板对象的当前处理文件.
void unsetVar(string $file)
功能:
清除指定文件中已经设置的变量.
参数:
$file 文件名称
void setCurrentfile(string $file)
功能:
设置当前要操作的文件
参数:
$file 文件名称
void clearBlockDefine(string $file, string $block)
功能:
清空文件中的区块定义
参数:
$file 文件名称
$block 区块名称
4. pfcTable 数据表操作类 定义的常量:
define('LEFT_JOIN', 1);
define('RIGHT_JOIN', 2);
define('INNER_JOIN', 3);
define('SUFFIX_NUM', 1);
define('SUFFIX_ASSOC', 2);
define('ORDER_ASC', 1);
define('ORDER_DESC', 2);
对外属性:
$suffix(SUFFIX_ASSOC|SUFFIX_NUM) insert或modify操作时参数的类型(默认: SUFFIX_NUM)
$joinType(LEFT_JOIN|RIGHT_JOIN|INNER_JOIN) 多表关联时联接类型.(默认: LEFT_JOIN) constructor pfcTable(pfcDB $db, string $tableName, mixed $fields)
功能:
构造函数.
参数:
$db pfcDB 数据库对象的实例
$tableName 要操作的表名称
$fields 要操作的字段.
void setTableName(string $tableName, $fields = '*')
功能:
设置要操作的表名称.
参数:
$tableName 表名称
$fields 设置要操作的字段. 如不设置或为空则使用 表内所有字段.
void setFields($fields = '*')
功能:
设置使用的字段.
参数:
$fields 设置要操作的字段. 如不设置或为空则使用 表内所有字段. void setCondition($term) 功能:
设置操作的条件.
参数:
$term 条件的字符串. Ex: " UserName = '%{$test}%'";
void setOrder($orderField, $orderMode = ORDER_ASC)
功能:
设置排序字段.
参数:
$orderField 排序的字段, Ex: 'UserName'
$orderMode 排序模式(ORDER_ASC|ORDER_DESC) Ex: ORDER_DESC
/********什么作用
void setGroup(string $groupString)
功能:
设置分组
参数:
string $groupString 设置分组字符串. Ex: setGroup('CategoryID');
********/
void setRelateTables(mixed $relateTables)
功能:
设置关联的表.
参数:
$relateTables
1) 多表的数组. ex: setRelateTablesarray('pw_members', 'pw_user_kind'));
2) 单表 ex: setRelateTables('pw_members')
void setRelateFields(string $table, mixed $fields)
功能:
设置关联的表中的字段.
参数:
$table 在setRelateTables中设置的表名称
$fields 要使用的字段. Ex: array('ID', 'UserName') or '*';
void setPrimaryField(string $table, string $field)
功能:
设置要关联表的主键
参数:
$table 表名称
$field 字段名称
void setJoinField(string $table, string $field) 功能:
设置要本表的外键
参数:
$table 表名称
$field 字段名称
void setTranslateFunc(callback $func, $object = null)
功能:
设置过滤函数. 所有从数据库中取得的结果将通过此方法设置的回调函数过滤
参数:
$func 函数名称 或 类的方法名称
$object 所在的类的实例, 当第一个参数为 类的方法时, 指定此参数.
Resource select($start, $num)
功能:
查询数据库. 执行 select 操作. 返回操作结果.
条件由 setCondition 方法设定.(既SQL语句中where后的条件决定的) 排序由 setOrder 方法设定(order)
/********Note: 本方法一般不直接调用. 而是用其它方法调用. ********/
参数:
$start 开始的记录数.
$num 要取的条数.
bool insert(array $arr)
功能:
对数据库进行插入操作.
参数:
$arr 插入的值内容.
异常:
字段和给出值数目不匹配时抛出 Exception 异常.
数据库操作失败时抛出 SQLException 异常
注意:
如果当前类实例的 suffix 属性为 SUFFIX_ASSOC时用array($field1 => $field1Value, $field2 => $field2Value, ....) 形式
为SUFFIX_NUM时用array($field1Value, $field2Value, ....) 这种形式
bool modify(array $arr)
功能:
对数据库进行插入操作.
条件由 setCondition指定
参数:
$arr 要修改的记录的值内容.
异常:
字段和给出值数目不匹配时抛出 Exception 异常.
数据库操作失败时抛出 SQLException 异常
注意:
如果当前类实例的 suffix 属性为 SUFFIX_ASSOC时用array($field1 => $field1Value, $field2 => $field2Value, ....) 形式
为SUFFIX_NUM时用array($field1Value, $field2Value, ....) 这种形式
bool delete(void)
功能:
按 setCondition方法指定的条件删除记录.
int getCount(string $fields = '*', $distinct = false)
功能:
取得符合条件的记录总数.
参数:
$fields 要统计的字段. 默认为 *, 不指定第二个条件为true时无效.
$distinct 是否要统计字段唯一的值.
mixed execFunction($db_func, $field = '*')
功能:
执行数据库函数. 如: max, sum, average等.
参数:
$db_func 函数名称.
$field 要操作的字段.
Ex:
echo $tblObj->execFunction('max', 'ID');
/********(两者之间的区别)
mixed mapResult()
功能:
按指定的条件的排序方式. 返回二维数组.
本方法为多态方法:
1. mixed mapResult($rslt)
参数:
$rslt 执行select返回的操作结果.
2. mixed mapResult($start, $end)
参数:
$start 开始记录数.
$end 要取的记录条数.
异常:
如果参数不符合任意一种多态参数. 抛出 Exception异常.
返回值:
array(
0 => array(
'Field1' => $field1Value,
'Field2' => $field2Value,
.......
),
1 => array(
'Field1' => $field1Value,
'Field2' => $field2Value,
.......
),
..........
);
raise(new Exception("test"));
raise(new SQLException("test2"));
........ . Object catch(string ExceptionName) 捕获异常 Ex. if(catch('SQLException')) { do somethings}
if($e = catch('SQLException')) { do somethings} . string __finally(void) 返回所有未捕获异常的Stack结构. 1. pfcInputStream - 输入流处理类 $instream = new pfcInputStream(); $in = $instream->parse_incoming(); //取得输入的数据到 $in数组. 访问: $in['test'] 代表取 客户传来的 test 变量的值. 可以是 _GET, _POST, _COOKIE, _SESSION中任意一种. $in['_GET']['test'] 表示取 _GET传来的值中的 test 变量的值
$in['_POST']
$in['_COOKIE']
$in['_SESSION']
$in['_FILE']2. pfcOutputStream - 输出流处理类 对外方法: void add_output(string $str) 将字符串添加到输入流中.
string get_content(void) 取出缓冲中的内容.
void clear_buffer(void) 清空缓冲区
void do_output(void) 输入缓冲中的数据.3. pfcTemplate - 模板处理类
定义的常量
define('UNDEFINE_TAG_KEEP', 1);
define('UNDEFINE_TAG_REMOVE', 2);
define('UNDEFINE_TAG_COMMENT', 3);
对外方法 constructor pfcTemplate(string $root, byte $undefineTag = UNDEFINE_TAG_KEEP, $defaultExt = '.tpl'); 参数: $root 模板处在根目录
$undefineTag 未定义标记处理. UNDEFINE_TAG_KEEP 保留
UNDEFINE_TAG_REMOVE 移除
UNDEFINE_TAG_COMMENT 注释掉 $defaultExt 默认模板扩展名. 在set_file时如果有此选项可以不输入 set_file的第二个参数. void setRoot(string $root) 默认模板根目录
void setDefault_ext(string $ext) 设置默认扩展名 void setFile(string $name, string $fileName = '') 添加一个文件到模板可解析的文件中.
参数:
$name 模板名称
$fileName 对应的文件名称, 本参数如不指定, 则默认为 $name + 模板的默认扩展名. 异常:
文件不存在或无权限读取时, 抛出 TplException void setString(string $name, string $buf)
参数:
$name 模板名称
$buf 模板内容.
void setBlock($parent, $name) 循环
功能:
设置可重复区域,
参数:
$parent 所属父模板名称, 可以是任意已经设置的 模板名称,或任意区块.
/********
$name本块设置后的名称, 可用 $tpl->parse($name) 来输出.
********/
异常:
父级模板中不存在此区块, 则抛出 TplException 异常
void setVar(mixed $key, string $val = '', string $file = '')
功能:
对已经存在的模板 设置变量.
参数:
$key 变量名称, 如果是数组则为 $k => $v 形式.
$val 变量值, 如果第一项用数组, 此项不需要了.
$file 要设置的文件, 如不指定则使用 模板对象的当前处理文件.
void unsetVar(string $file)
功能:
清除指定文件中已经设置的变量.
参数:
$file 文件名称
void setCurrentfile(string $file)
功能:
设置当前要操作的文件
参数:
$file 文件名称
void clearBlockDefine(string $file, string $block)
功能:
清空文件中的区块定义
参数:
$file 文件名称
$block 区块名称
4. pfcTable 数据表操作类 定义的常量:
define('LEFT_JOIN', 1);
define('RIGHT_JOIN', 2);
define('INNER_JOIN', 3);
define('SUFFIX_NUM', 1);
define('SUFFIX_ASSOC', 2);
define('ORDER_ASC', 1);
define('ORDER_DESC', 2);
对外属性:
$suffix(SUFFIX_ASSOC|SUFFIX_NUM) insert或modify操作时参数的类型(默认: SUFFIX_NUM)
$joinType(LEFT_JOIN|RIGHT_JOIN|INNER_JOIN) 多表关联时联接类型.(默认: LEFT_JOIN) constructor pfcTable(pfcDB $db, string $tableName, mixed $fields)
功能:
构造函数.
参数:
$db pfcDB 数据库对象的实例
$tableName 要操作的表名称
$fields 要操作的字段.
void setTableName(string $tableName, $fields = '*')
功能:
设置要操作的表名称.
参数:
$tableName 表名称
$fields 设置要操作的字段. 如不设置或为空则使用 表内所有字段.
void setFields($fields = '*')
功能:
设置使用的字段.
参数:
$fields 设置要操作的字段. 如不设置或为空则使用 表内所有字段. void setCondition($term) 功能:
设置操作的条件.
参数:
$term 条件的字符串. Ex: " UserName = '%{$test}%'";
void setOrder($orderField, $orderMode = ORDER_ASC)
功能:
设置排序字段.
参数:
$orderField 排序的字段, Ex: 'UserName'
$orderMode 排序模式(ORDER_ASC|ORDER_DESC) Ex: ORDER_DESC
/********什么作用
void setGroup(string $groupString)
功能:
设置分组
参数:
string $groupString 设置分组字符串. Ex: setGroup('CategoryID');
********/
void setRelateTables(mixed $relateTables)
功能:
设置关联的表.
参数:
$relateTables
1) 多表的数组. ex: setRelateTablesarray('pw_members', 'pw_user_kind'));
2) 单表 ex: setRelateTables('pw_members')
void setRelateFields(string $table, mixed $fields)
功能:
设置关联的表中的字段.
参数:
$table 在setRelateTables中设置的表名称
$fields 要使用的字段. Ex: array('ID', 'UserName') or '*';
void setPrimaryField(string $table, string $field)
功能:
设置要关联表的主键
参数:
$table 表名称
$field 字段名称
void setJoinField(string $table, string $field) 功能:
设置要本表的外键
参数:
$table 表名称
$field 字段名称
void setTranslateFunc(callback $func, $object = null)
功能:
设置过滤函数. 所有从数据库中取得的结果将通过此方法设置的回调函数过滤
参数:
$func 函数名称 或 类的方法名称
$object 所在的类的实例, 当第一个参数为 类的方法时, 指定此参数.
Resource select($start, $num)
功能:
查询数据库. 执行 select 操作. 返回操作结果.
条件由 setCondition 方法设定.(既SQL语句中where后的条件决定的) 排序由 setOrder 方法设定(order)
/********Note: 本方法一般不直接调用. 而是用其它方法调用. ********/
参数:
$start 开始的记录数.
$num 要取的条数.
bool insert(array $arr)
功能:
对数据库进行插入操作.
参数:
$arr 插入的值内容.
异常:
字段和给出值数目不匹配时抛出 Exception 异常.
数据库操作失败时抛出 SQLException 异常
注意:
如果当前类实例的 suffix 属性为 SUFFIX_ASSOC时用array($field1 => $field1Value, $field2 => $field2Value, ....) 形式
为SUFFIX_NUM时用array($field1Value, $field2Value, ....) 这种形式
bool modify(array $arr)
功能:
对数据库进行插入操作.
条件由 setCondition指定
参数:
$arr 要修改的记录的值内容.
异常:
字段和给出值数目不匹配时抛出 Exception 异常.
数据库操作失败时抛出 SQLException 异常
注意:
如果当前类实例的 suffix 属性为 SUFFIX_ASSOC时用array($field1 => $field1Value, $field2 => $field2Value, ....) 形式
为SUFFIX_NUM时用array($field1Value, $field2Value, ....) 这种形式
bool delete(void)
功能:
按 setCondition方法指定的条件删除记录.
int getCount(string $fields = '*', $distinct = false)
功能:
取得符合条件的记录总数.
参数:
$fields 要统计的字段. 默认为 *, 不指定第二个条件为true时无效.
$distinct 是否要统计字段唯一的值.
mixed execFunction($db_func, $field = '*')
功能:
执行数据库函数. 如: max, sum, average等.
参数:
$db_func 函数名称.
$field 要操作的字段.
Ex:
echo $tblObj->execFunction('max', 'ID');
/********(两者之间的区别)
mixed mapResult()
功能:
按指定的条件的排序方式. 返回二维数组.
本方法为多态方法:
1. mixed mapResult($rslt)
参数:
$rslt 执行select返回的操作结果.
2. mixed mapResult($start, $end)
参数:
$start 开始记录数.
$end 要取的记录条数.
异常:
如果参数不符合任意一种多态参数. 抛出 Exception异常.
返回值:
array(
0 => array(
'Field1' => $field1Value,
'Field2' => $field2Value,
.......
),
1 => array(
'Field1' => $field1Value,
'Field2' => $field2Value,
.......
),
..........
);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货