系统级异常处理函数: . 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,
.......
),
..........
 );