易截截图软件、单文件、免安装、纯绿色、仅160KB

BDB官方给PHP提供的接口的程序员真是不负责

刚写完前面的日志,又发现一个Bug:
根据Oracle官方提供的说明:
http://www.oracle.com/technology/documentation/berkeley-db/db/programmer_reference/ext_php.html
class Db4的声明如下:
class Db4 {
function Db4($dbenv = null) {} // create a new Db4 object using
// the optional DbEnv
function open($txn = null, $file = null, $database = null,
$flags = DB_CREATE, $mode = 0) {}
function close() {}
function del($key, $txn = null) {}
function get($key, $txn = null, $flags = 0) {}
function pget($key, &$pkey, $txn = null, $flags = 0) {}
function get_type() {} // returns the stringified database type name
function stat($txn = null, $flags = 0) {} // returns statistics as
// an as
function join($cursor_list, $flags = 0) {}
function sync() {}
function truncate($txn = null, $flags = 0) {}
function cursor($txn = null, flags = 0) {}
}

想测试一下BTREE和HASH方式的性能区别的时候,却怎么也找不到指定数据表类型的参数。有是看php扩展的源代码,居然发现程序是支持的,open的原型应该如下:
function open($txn = null, $file = null, $database = null, $type = DB_BTREE, $flags = DB_CREATE, $mode = 0)

漏的还不是最后一个参数。真够faint的。另外php源码中也没有为DB_BTREE、DB_HASH等类型定义宏。又要自己动手丰衣足食了。
在db4.cpp中增加了声明:
REGISTER_LONG_CONSTANT("DB_BTREE", DB_BTREE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("DB_HASH", DB_HASH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("DB_RECNO", DB_RECNO, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("DB_QUEUE", DB_QUEUE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("DB_UNKNOWN", DB_UNKNOWN, CONST_CS | CONST_PERSISTENT);

另外未在代码中找到设置Cache以及PageSize的函数。看来这个是真的不支持了。


相关文档:

学习php Reflection(二)

(4)映射类(ReflectionClass)
ReflectionClass类允许你反向映射类。
<?
php
interface MySerializable  
{    
// ...}
class My
Object
 
{    
// ...}
/** A counter class */
class 
Counter 
exten ......

PHP autoload机制详解

(1) autoload机制概述
在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际的例子:
CODE:
/* ......

[转]PHP中str_replace函数的详解


在实际的程序开发中,执行字符串替换操作是一件非常经常的事,对
str_replace
函数的实用也会非常频繁。
     
这段时间在看《
PHP

MySQL Web
开发》一书看到
str_replace
讲解,一段小提示写到:可以为
str_replace
的三个都使用数组传入,但讲解比较简单,于是决定自己的试验 ......

CentOS通过yum升级php到5.2.9版本的方法

CentOS的php版本默认为5.1.6,然后在5.2.9版本之前的的php都存在一个漏洞,但是目前网上很多地方都无法使用yum update php*升级到5.2.9,比较常见的是升级到5.2.6版本的,经过搜索国外资料,现在终于找到一种升级CentOS的php到5.2.9的方法。
运行下面命令:
# wget http://download.fedora.redhat.com/pub/epel/5/i386/ep ......

php 正则表达式 html中的回车

//回车:[\n\r\t]
$reg="|typeid=\"(.*)\" onsel.*[\n\r\t]*<a href="\" mce_href="\""#\">(.*)</a>|";
preg_match_all ($reg,
$html,
$out, PREG_PATTERN_ORDER);
foreach ($out as $value){
foreach ($value as $value2){
if(strlen($value2)<20)
echo ($value2."<br>");
}
} ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号