PHPÀàʵÀý½Ì³Ì£¨Ê®Ò»£©£ºÀàÖÐthis¹Ø¼ü×Ö
PHP5ÖÐΪ½â¾ö±äÁ¿µÄÃüÃû³åÍ»ºÍ²»È·¶¨ÐÔÎÊÌ⣬ÒýÈë¹Ø¼ü×Ö“$this”´ú±íÆäËùÔÚµ±Ç°¶ÔÏó¡£
$thisÔÚ¹¹Ô캯ÊýÖÐÖ¸¸Ã¹¹Ô캯ÊýËù´´½¨µÄжÔÏó¡£
ÔÚÀàÖÐʹÓõ±Ç°¶ÔÏóµÄÊôÐԺͷ½·¨£¬±ØÐëʹÓÃ$this->ȡֵ¡£
·½·¨Äڵľֲ¿±äÁ¿£¬²»ÊôÓÚ¶ÔÏ󣬲»Ê¹ÓÃ$this¹Ø¼ü×Öȡֵ¡£
¾Ö²¿±äÁ¿ºÍÈ«¾Ö±äÁ¿Óë $this ¹Ø¼ü×Ö,ʹÓõ±Ç°¶ÔÏóµÄÊôÐÔ±ØÐëʹÓÃ$this¹Ø¼ü×Ö¡£¾Ö²¿±äÁ¿µÄÖ»ÔÚµ±Ç°¶ÔÏóµÄ·½·¨ÄÚÓÐЧ£¬ËùÒÔÖ±½ÓʹÓá£
×¢Ò⣺¾Ö²¿±äÁ¿ºÍÊôÐÔ¿ÉÒÔͬÃû£¬µ«Ó÷¨²»Ò»Ñù¡£ÔÚʹÓÃÖУ¬Òª¾¡Á¿±ÜÃâÕâÑùʹÓã¬ÒÔÃâ»ìÏý¡£
<?php
class A
{
private $a = 99;
//ÕâÀïдһ¸ö´òÓ¡²ÎÊýµÄ·½·¨
public function printInt($a) {
echo "\$aÊÇ´«µÝµÄ²ÎÊý $a ";
echo "<br />";
echo "\$this->a ÊÇÊôÐÔ $this->a";
}
}
$a = new A(); //ÕâÀïµÄ$a¿É²»ÊÇÀàÖеÄÈκαäÁ¿
$a->printInt(88);
?>
ÓÃ$thisµ÷ÓöÔÏóÖÐµÄÆäËü·½·¨
<?php
class Math
{
//Á½¸öÊýÖµ±È½Ï´óС
public function Max($a, $b) {
return $a > $b ? $a : $b;
}
//Èý¸öÊýÖµ±È½Ï´óС
public function Max3($a, $b, $c) {
$a = $this->Max($a, $b); //µ÷ÓÃÀàÖÐµÄÆäËü·½·¨
return $this->Max($a, $c);
}
}
$math = new Math();
echo "×î´óÖµÊÇ " . $math->Max3(99, 100, 88);
?>
ʹÓÃ$thisµ÷Óù¹Ô캯Êý
µ÷Óù¹Ô캯ÊýºÍÎö¹¹º¯ÊýµÄ·½·¨Ò»Ö¡£
<?php
class A
{
private $a = 0;
public function __construct() {
$this->a = $this->a + 1;
}
public function doSomeThing() {
$this->__construct();
return $this->a;
}
}
$a = new A(); // ÕâÀïµÄ$a ¿É²»ÊÇÀàÖеÄÈκÎÒ»¸ö±äÁ¿ÁË
echo "ÏÖÔÚ \$a µÄÖµÊÇ" . $a->doSomeThing();
?>
$this µ½µ×Ö¸µÄʲô£¿
$this ¾ÍÊÇÖ¸µ±Ç°¶ÔÏó£¬ÎÒÃÇÉõÖÁ¿ÉÒÔ·µ»ØÕâ¸ö¶ÔÏóʹÓà $this¡£
<?php
class A
{
public function getASelf() {
return $this;
}
public function __toString() {
return "ÕâÊÇÀàAµÄʵÀý";
}
}
$a = new A(); //´´½¨AµÄʵÀý
$b = $a->getASelf(); //µ÷Ó÷½·¨·µ»Øµ±Ç°ÊµÀý
echo $a; //´òÓ¡¶ÔÏó»áµ÷ÓÃËüµÄ__toString·½·¨
?>
ͨ¹ý $this ´«µÝ¶ÔÏó
ÔÚÕâ¸öÀý×ÓÖÐ,ÎÒÃÇдһ¸ö¸ù¾Ý²»Í¬µÄÄêÁä·¢²»Í¬¹¤×ʵÄÀà¡£ÎÒÃÇÉè
Ïà¹ØÎĵµ£º
PHP³ÌÐòÔ±Ó¦¸Ã¶¼ÖªµÀÁ¬½ÓMySQLÊý¾Ý¿â¿ÉÒÔʹÓÃmysql_pconnect£¨ÓÀ¾ÃÁ¬½Ó£©º¯Êý£¬Ê¹ÓÃÊý¾Ý¿âÓÀ¾ÃÁ¬½Ó¿ÉÒÔÌá¸ßЧÂÊ£¬µ«ÊÇʵ¼ÊÓ¦ÓÃÖÐÊý¾Ý¿âÓÀ¾ÃÁ¬½ÓÍùÍù»áµ¼Ö³öÏÖһЩÎÊÌ⣬ͨ³£µÄ±íÏÖ¾ÍÊÇÔÚ´ó·ÃÎÊÁ¿µÄÍøÕ¾ÉÏʱ³£·¢Éú¶Ï¶ÏÐøÐøµÄÎÞ·¨Á¬½ÓÊý¾Ý¿âµÄÇé¿ö£¬³öÏÖÀàËÆ£¢Too many connections in ...£¢µÄ´íÎóÌáʾÐÅÏ¢£¬ÖØÐÂÆô¶¯·þÎñÆ÷Ó ......
ÔËÐл·¾³£ºwindows xp sp2
IIS v5.1
PHP 5.3.1-Win32-VC9-x86
Mysql 5.0
°²×°²½Ö裺
°²×°IIS5.1
ÔÚ ......
<?php
/*
Singleton && Registry Design Pattern Implementation
*/
class Registry {
private $_store = array();
public function getInstance() {
static $instance = array();
if (!$instance) {
$instance[0] = new ......
±àÕß°´£ºÑ§Ï°phpÊÇÒ»ÖÖ¿ÝÔïÎÞ棬ÕûÌìºÍ´úÂë´ò½»µÀµÄ¹ý³Ì£¬²»¹ýÏàÐÅÕâÆªÎÄÕÂ»á¸øÄãÒ»µãÆôʾ°ïÖú¡£
ÈçºÎѧϰPHP/ѧϰphpµÄ·½·¨,ѧ¶«Î÷£¬ÓÀÔ¶²»ÒªÍýÏëÓÐËÙ³ÉÕâһ˵£¬¸æËßÄãÁËÒ»¸ö·½Ê½£¬µ«ÊÇȱÉÙŬÁ¦ÕâÒ»»·½Ú£¬ÄÇÒ²Êǰ״ ÕÆÎպõÄѧϰ·½·¨·Ç³£±ØÒª,¿´¿´ÕâÆªÈçºÎѧϰPHP/ѧϰphpµÄ·½·¨[×ªÔØ]
ÏàÐÅ´ó¼ÒÑ¡ÔñÒ»ÖÖÓïÑÔ£¬²¢²»ÊÇ ......
Îö¹¹º¯Êý£ºµ±Ä³¸ö¶ÔÏó³ÉΪÀ¬»ø»òÕßµ±¶ÔÏó±»ÏÔʽÏú»ÙʱִÐС£
GC(Garbage Collector)
ÔÚPHPÖУ¬Ã»ÓÐÈκαäÁ¿Ö¸ÏòÕâ¸ö¶ÔÏóʱ£¬Õâ¸ö¶ÔÏó¾Í³ÉΪÀ¬»ø¡£PHP»á½«ÆäÔÚÄÚ´æÖÐÏú»Ù¡£ÕâÊÇPHPµÄGC(Garbage Collector)À¬»ø´¦Àí»úÖÆ£¬·ÀÖ¹ÄÚ´æÒç³ö¡£µ±Ò»¸öPHPÏ߳̽áÊøÊ±£¬µ±Ç°Õ¼ÓõÄËùÓÐÄÚ´æ¿Õ¼ä¶¼»á±»Ïú»Ù£¬µ±Ç°³ÌÐòÖеÄËùÓжÔÏóͬÑù± ......