PHPÖÐÉè¼ÆÄ£Ê½µÄѧϰ±Ê¼Ç
PHPÖÐÉè¼ÆÄ£Ê½µÄѧϰ±Ê¼Ç
Éè¼ÆÄ£Ê½(Design Pattern)ÊÇÃæÏò¶ÔÏóÉè¼ÆÖз´¸´³öÏÖµÄÎÊÌâµÄ½â¾ö·½°¸£¬Éè¼ÆÄ£Ê½ÊÇÒ»ÖÖ±ÈÒ»°ãÀàµÄÉè¼Æ¸ü¼Ó³éÏóµÄÒ»ÖÖ˼Ï룬
ËüÍùÍùÉæ¼°µ½¶à¸öÀàµÄ¶¨ÒåºÍʹÓá£
ÔÚPHPµÄ¿ª·¢¹ý³ÌÖУ¬¾³£Ê¹Óõ½µÃÉè¼ÆÄ£Ê½°üÀ¨£º¼òµ¥¹¤³§Ä£Ê½¡¢µ¥ÔªËØÄ£Ê½¡¢¹Û²ìÕßģʽ¡¢ÃüÁîģʽ¡¢²ßÂÔģʽÒÔ¼°MVCģʽµÈ¡£
/**
* ¼òµ¥¹¤³§Ä£Ê½(Simple Factory Pattern),¾ßÌåÖ¸´´½¨Ò»¸öÀàËÆÓÚ¹¤³§µÄÀ࣬ͨ¹ý¶ÔÀàÖгÉÔ±·½·¨µÄµ÷Ó÷µ»Ø²»Í¬µÄ¶ÔÏó
* ¸ÃģʽµÄºËÐÄÊǹ¤³§À࣬¸ÃÀàÖк¬ÓбØÒªµÄÅжÏÂß¼£¬¿ÉÒÔ¾ö¶¨ÔÚʲôʱºò´´½¨²¢·µ»ØÄĸö²úÆ·µÄʵÀý»¯¶ÔÏó
*/
//¶¨Òå³éÏóÀàProduct
abstract class Product
{
abstract function getName();
}
//¶¨Òå¾ßÌå²úÆ·ÀàA
class ProductA extends Product
{
public function getName()
{
echo "I am product A";
}
}
//¶¨Òå¾ßÌå²úÆ·ÀàB
class ProductB extends Product
{
public function getName()
{
echo "I am product B";
}
}
//¶¨Ò幤³§Àà
class ProductFactory
{
static function create($name)
{
switch($name)
{
case "A":
return new ProductA();
case "B":
return new ProductB();
}
}
}
$product=ProductFactory::create("A");
$product->getName();
echo "<br/>";
$product=ProductFactory::create("B");
$product->getName();
/**
* µ¥ÔªËØÄ£Ê½(Singleton Pattern)ÊÇÖ¸¶ÔÖ¸¶¨µÄÀàÖ»ÄÜʵÀý»¯Ò»´Î¡£
* ¸Ãģʽͨ³£°üº¬Ò»¸ö˽Óй¹Ôì·½·¨£¬ÓÃÀ´È·±£ÎÞ·¨Í¨¹ý´´½¨¶ÔÏó»òÕ߿ˡµÄ·½Ê½¶ÔÆä½øÐÐʵÀý»¯
* ¸Ãģʽ»¹°üº¬ÓÐÒ»¸ö˽Óо²Ì¬ÊôÐԺ͹«Óо²Ì¬·½·¨¡£
* ¹«Óо²Ì¬·½·¨¸ºÔð¶ÔÆä±¾Éí½øÐÐʵÀý»¯£¬¶øË½Óо²Ì¬ÊôÐÔ¸ºÔð´æ´¢ÊµÀý»¯µÄ¶ÔÏó¡£
*/
class Singleton
{
private static $ins
Ïà¹ØÎĵµ£º
PHP´ÓPHP5¿ªÊ¼£¬³¹µ×ÖØÐ±àдµÄºÍÐÂÔöÁ˶ÔXMLµÄÀ©Õ¹£¬Èç SAX ½âÎöÆ÷¡¢DOM¡¢SimpleXML¡¢XMLReader¡¢XMLWriter ºÍ XSLT ´¦Àí³ÌÐò¡£ËùÓÐÕâЩÀ©Õ¹¶¼ÒÔ libxml2 Ϊ»ù´¡¡£
=============================
1¡¢DOMDocument¶ÔÏó³£Ó÷½·¨£º
=============================
a£©createElement(elementName)
¸Ã· ......
<?php
/*
* Ãû³Æ : MySQLÊý¾Ý¿â»ù±¾²Ù×÷
* ×÷Õß : pjx
* °æ±¾ : v 2010/02/25 v 1.0
* ˵Ã÷ : ¸ÃÀàÓÃÓÚ¶ÔMySQL×öһЩ¼òµ¥µÄ²Ù×÷
* ʾÀý £º
* ʵÀý => $db = new DB_MYSQL($database),´ò¸ö$databaseÊý¾Ý¿â
* ²éѯÊý¾Ý¿â => $db->query($sql_str),²éѯ$sql_st ......
<?php
include_once("error.php");
/*
* Ãû³Æ : PHPÈ¥Ô´Âë×¢Êͼ°Çá¶ÈѹËõÊý¾Ý
* ×÷Õß : pjx
* °æ±¾ : v 2010/02/25 v 1.0
* ˵Ã÷ : ¸ÃÀàÓÃÓÚÇå³ýPHPÎļþ(ͬʱ¼æÈÝC/C++·ç¸ñ×¢Ê͵ÄÎļþ)Ô´ÂëµÄ×¢Êͼ°È¥³ý¶àÓà¿Õ¸ñ
* ʾÀý £º
* ʵÀý => $data = new REMOVE_COMMENT($file_p ......
ÔÚPHPÖÐʹÓÃÍ·Îļþ£¬»áÉæ¼°Á½¸öº¯Êý£ºinclude()ºÍrequire()¡£ÕâÁ½¸öº¯Êý²î±ðºÜС£¬È´ºÜÖØÒª£¬ËùÒÔÎÒÃÇÒªÈÏÕæÑо¿Ò»Ï¡£
require()º¯Êý¹¤×÷·½Ê½ÓëXSSIÏàÀàËÆ£»²»¹ÜÔÚ³ÌÐòµÄÄĸö²¿·ÖʹÓÃÁËÕâ¸öº¯Êý£¬Ö»ÓгÌÐòÒ»¿ªÊ¼ÔËÐУ¬Í·ÎļþµÄÄÚÈݾͱ»×÷Ϊ³ÌÐò±¾ÉíµÄÒ»²¿·ÖÀ´´¦
Àí¡£Òò´Ë£¬Èç¹ûÄúÔÚÒ»¸öÌõ¼þÅж¨Óï¾äÖÐʹÓÃÁËrequire()º¯Ê ......
if(validatorImage("d:\b.jpg"))
echo 'ÊǸöµÍË×ͼƬ<br />';
else
echo '²»ÊǵÍË×ͼƬ<br />';
function validatorImage($fileName){
$image = getImage($fileName);
$width = ImagesX($image);
$height = ImagesY($image);
$ycb = 0;
for($y=0;$y<$height;$y++){
for($x=0;$x<$widt ......