phpÃæÏò¶ÔÏó±à³Ì – ¹Û²ìÕßģʽ
ÕâÆªÎÄÕ½éÉÜÒ»ÏÂÉè¼ÆÄ£Ê½ÖеĹ۲ìÕßģʽ¡£ ¹Û²ìÕßģʽӦÓõ½phpÃæÏò¶ÔÏó±à³ÌÖУ¬¿ÉÒÔ±ÜÃâ×é¼þÖ®¼ä½ôÃÜñîºÏ¡£ÁíÍâµÄ¹ØÓÚÈçºÎ±ÜÃâ×é¼þÖ®¼ä»úÃÜñîºÏµÄ·½·¨£¬¿ÉÒԲο¼phpÃæÏò¶ÔÏó±à³Ì – ʹÓýӿÚʵÏÖËÉÉ¢ñîºÏÕâÆªÎÄÕ¡£
¹Û²ìÕßģʽ·Ç³£¼òµ¥£ºÒ»¸ö¶ÔÏóͨ¹ýÌí¼ÓÒ»¸ö·½·¨£¨¸Ã·½·¨ÔÊÐíÁíÒ»¸ö¶ÔÏ󣬼´¹Û²ìÕß ×¢²á×Ô¼º£©Ê¹±¾Éí±äµÃ¿É¹Û²ì¡£µ±¿É¹Û²ìµÄ¶ÔÏó¸ü¸Äʱ£¬Ëü»á½«ÏûÏ¢·¢Ë͵½ÒÑ×¢²áµÄ¹Û²ìÕß¡£ÕâЩ¹Û²ìÕßʹÓøÃÐÅÏ¢Ö´ÐеIJÙ×÷Óë¿É¹Û²ìµÄ¶ÔÏóÎ޹ء£½á¹ûÊǶÔÏó¿ÉÒÔÏ໥¶Ô»°£¬¶ø²»±ØÁ˽âÔÒò¡£
Ò»¸ö¼òµ¥Ê¾ÀýÊÇϵͳÖеÄÓû§ÁÐ±í¡£ÏÂÃæµÄ´úÂëÏÔʾһ¸öÓû§ÁÐ±í£¬Ìí¼ÓÓû§Ê±£¬Ëü½«·¢ËͳöÒ»ÌõÏûÏ¢¡£Ìí¼ÓÓû§Ê±£¬Í¨¹ý·¢ËÍÏûÏ¢µÄÈÕÖ¾¹Û²ìÕß¿ÉÒÔ¹Û²ì´ËÁÐ±í¡£
01
<?php
02
interface IObserver
03
{
04
function onChanged( $sender, $args );
05
}
06
07
interface IObservable
08
{
09
function addObserver( $observer );
10
}
11
12
class UserList implements IObservable
13
{
14
private $_observers = array();
15
16
public function addCustomer( $name )
17
{
18
foreach( $this->_observers as $obs )
19
$obs->onChanged( $this, $name );
20
}
21
22
public function addObserver( $observer )
23
{
24
$this->_observers []= $observer;
25
}
26
}
27
28
class UserListLogger implements IObserver
29
{
30
public function onChanged( $sender, $args )
31
{
32
echo( "'$args' added to user list\n" );
33
}
34
}
35
36
$ul = new UserList();
37
$ul->addObserver( new UserListLogger() );
38
$ul->addCustomer( "Jack" );
39
?>
´Ë´úÂ붨ÒåËĸöÔªËØ£ºÁ½¸ö½Ó¿ÚºÍÁ½¸öÀà¡£IObservable ½Ó¿Ú¶¨Òå¿ÉÒÔ±»¹Û²ìµÄ¶ÔÏó£¬UserList ʵÏָýӿڣ¬ÒԱ㽫±¾Éí×¢²áΪ¿É¹Û²ì¡£IObserver ÁÐ±í¶¨ÒåҪͨ¹ýÔõÑùµÄ·½·¨²ÅÄܳÉΪ¹Û²ìÕߣ¬UserListLogger ʵÏÖ IObserver ½Ó¿Ú¡£
Èç¹ûÔÚÃüÁîÐÐÖÐÔËÐÐËü£¬Äú½«¿´µ½ÒÔÏÂÊä³ö£º
1
% php obs
Ïà¹ØÎĵµ£º
<?php
/**
* PHP100.com - ¸öÈ˸оõ·Ç³£¼òµ¥£¬Ö»ÒªÓеãPHP»ù´¡µÎÈ˶¼Ó¦¸ÃÄÜ¿´¶®~~
* Apache2 + PHP5.0
* Version:1.0
* ͬʱ¸ÐлPHP100ËùÓеÄÐÖµÜÃÇ
* ——————————————&m ......
·ÖÒ³¹¦ÄܵÄʵÏÖÊÇÿÖÖWEB¿ª·¢ÓïÑÔ±ØÐëҪʵÏֵŦÄÜ¡£PHPÒ²ºÃ,JSPÒ²°Õ¡£ÎÒ×¼±¸ÓÃÁ½¸ö·½·¨À´²ûÊöPHP+MYSQLʵÏÖ·ÖÒ³µÄ¹¦ÄÜ¡£
Ò»¡¢·ÖÒ³³ÌÐòµÄÔÀí
·ÖÒ³³ÌÐòÓÐÁ½¸ö·Ç³£ÖØÒªµÄ²ÎÊý£ºÃ¿Ò³ÏÔʾ¼¸Ìõ¼Ç¼£¨$pagesize£©ºÍµ±Ç°Êǵڼ¸Ò³£¨$page£©¡£ÓÐÁËÕâÁ½¸ö²ÎÊý¾Í¿ÉÒԺܷ½±ãµÄд³ö·ÖÒ³³ÌÐò£¬ÎÒÃÇÒÔMySqlÊý¾Ý¿â×÷ΪÊý¾ÝÔ´£¬ ......
Linux + Apache2.0 + Mysql + PHP + phpBB3.0
1.°²°ü£º
Apache2.0
#tar -zxf httpd-***.tar.gz -C /usr/local/src/
#cd /usr/local/src/httpd-***
  ......
ÏÖÔÚ°ÑÔÚIISϰ²×°PHPµÄ¹ý³ÌÏêϸ¼Ç¼ÏÂÀ´±ãÓÚÈÕºóµÄѧϰ£»
ΪÁË·½±ã¸÷λ¶ÁÕßʹÓÃPHP£¬±ÊÕßÑ¡ÔñÁËPHP5.2°æ±¾£¬¶øIISÔòÊÇXPϵͳ×Ô´øµÄIIS 5¡£Ê×ÏÈÎÒÃÇÒª°²×°IIS×é¼þ£¬Ä¬ÈÏÇé¿öÏÂÔÚXPϵͳÊÇûÓа²×°µÄ¡£
¡¡µÚÒ»²½£ºÍ¨¹ý¿ØÖÆÃæ°åµÄÌí¼Ó/ɾ³ýWindows×é¼þÍê³ÉIIS×é¼þµÄ°²×°¹¤×÷¡£
¡¡µÚ¶ ......
»ù±¾Ë¼Â·£ºÍ¨¹ýSOCKETÇëÇóÆäËûPHP½Å²½£¬ÊµÏÖPHPµÄ¶à½ø³ÌµÄÒì²½Ö´ÐС£
·Ï»°¾Í²»¶à˵ÁË£¬Çë¿´ÏÂÃæµÄ½Å²½²¢Ö´ÐÐÖ®¡£
<?php
//a.php
function runThread(){
$fp = fsockopen('127.0.0.1', 82, $errno, $errmsg);
fputs($fp, "GET /a.php?act=b\r\n"); //ÕâÀïµÄµÚ¶þ¸ö²ÎÊýÊÇHTTPÐÒéÖй涨µÄÇëÇóÍ·
//²»Ã÷°×µÄÇë¿´RFCÖ ......