BMH×Ó´®²éÕÒËã·¨(PHPʵÏÖ)
´úÂëinterface StringSearchable
{
public function search($substring, $buffer);
}
class BoyerMooreStringSearch implements StringSearchable
{
public $substring = null;
public $buffer = '';
public $jumpTable = array();
protected $results = array();
public function __construct()
{
}
public function __destruct()
{
}
public function search($substring, $buffer)
{
$this->results = array();
$this->substring = $substring;
$this->buffer = $buffer;
$this->deriveJumpTable();
$substringLen = strlen($this->substring);
$currentCharIndex = $substringLen - 1;
$bufferLen = strlen($this->buffer);
while ($currentCharIndex < $bufferLen) {
for ($i = $substringLen - 1; $i >= 0; $i--) {
&nb
Ïà¹ØÎĵµ£º
×÷ÓÃÊǰÑÐÎÈ磺www.abc.com/index.php/blog/show µÄµØÖ·ÃÀ»¯³É www.abc.com/blog/show ,ʹÓÃ$_SERVER['PATH_INFO']½ÓÊÕ±äÁ¿¡£
server
{
listen 80;
server_name myweb;
index index.html index.htm index.php;
root /home/zhaowei/code;
if (!-f $request_filename) {
......
×î½üµÄphp°æ±¾ºÃÏñÒѾµ½ÁË5.3°É£¬Óв»ÉÙ¶«Î÷¶¼³öÏÖÁ˱仯£¬´Ó5.3¿ªÊ¼£¬ÎªÁ˸üºÃµÄÏòδÀ´°æ±¾µÄphp£¨°æ±¾6£©¹ý¶É£¬½«Î´À´²»ÔÙÖ§³ÖµÄº¯Êý±ê¼Ç³ÉÁËdeprecated¡£ÔÚ´úÂëÖÐʹÓÃÕâЩº¯Êý£¬½«ÔÚÒ³ÃæÖÐÏÔʾ¾¯¸æÐÅÏ¢¡£
±ä¸ü£º
ÅäÖÃÎļþÇ¨ÒÆ
PHP 5.3 ¿ªÊ¼£¬ÅäÖÃÎļþ php.ini ÖеÄһЩÅäÖý«»áÔÚ PHP Ö´ÐÐʱÏÔʾ¹ýʱ¾¯¸æ£¬ÕâЩÅäÖý ......
ÕâÀï50¸öÓÐÒæµÄPHP¹¤¾ß£¬¿ÉÒÔ´ó´óÌá¸ßÄãµÄ±à³Ì¹¤×÷£º
µ÷ÊÔ¹¤¾ß
Webgrind
Xdebug
Gubed PHP Debugger
DBG
PHP_Debug
PHP_Dyn
MacGDBp
²âÊÔºÍÓÅ»¯¹¤¾ß
PHPUnit
SimpleTest
Selenium
PHP_CodeSniffer
dBug
PHP Profile Class
Îĵµ¹¤¾ß
phpDocumentor
PHP DOX
°²È«¹¤¾ß
Securimage
£ºÑéÖ¤Â빤¾ß¡£
Scave ......
1.ÏÂÔØ°²×°mcrypt
ÏÈÈ¥http://www.sourceforge.netÏÂÔØLibmcrypt,mhash,mcrypt°²×°°ü
2 .ÏȰ²×°Libmcrypt
#tar -zxvf libmcrypt-2.5.8.tar.gz
#cd libmcrypt-2.5.8
#./configure
#make
#make install
˵Ã÷£ºlibmcriptĬÈϰ²×°ÔÚ/usr/local
3.°²×°mhash
#tar -zxvf mhash-0.9.9.9.tar.gz
#cd mhash-0.9.9.9
#./ ......