php设计模å¼ï¼ï¼ä¸ï¼ãåä¾æ¨¡å¼_php_web-itnose
é¦é¡µ
asp
php
javascript
iis
apache
html/css
coldfusion
ajax
vbscript
cgi
xml/xsl
è·¨æµè§å¨å¼å
ruby/rails
ç¨åºå
html5
jquery
seo
jboss
json
angularjs
markdown
nginx
thinkphp
yii
pageadmin
extjs
wampserver
kendo ui
coffeescript
gulp
ecmascript
bootstrap
itnoseé¦é¡µ > web > php >
php设计模å¼ï¼ï¼ä¸ï¼ãåä¾æ¨¡å¼
2017-06-14 18:08
ä¸ã设计模å¼æ¦è¿°ï¼
设计模å¼æ¯ä»ä¹ï¼åå¦è ä¸å¼å§ä¼è¢«è¿é«å¤§ä¸çå称ç»å¬ä½ãè对äºæ丰å¯ç¼ç¨ç»éªçèé¸æ¥è¯´ï¼æ¨¡å¼è®¾è®¡åæ¯æ å¤ä¸å¨ãå¾å¤æ¥è§¦çæ¡æ¶å°±æ¯åºäºåç§æ¨¡å¼è®¾è®¡å½¢æçã ç®å说ï¼å¨å代ç çè¿ç¨ä¸ä¸å¼å§å¾å¾æ¥è§¦çæ¯é¢åè¿ç¨çï¼ç®åçåºç¡çç¼ç¨ãè¿ä¸ªæ¶åæ们å¾å¾è¿½æ±çæ¯ä»£ç è½å¤å®ç°æ项åè½å°±ä¸äºå¤§åã管ä»ä»£ç å¤ä¹åä½ï¼ç®¡ä»ä»£ç æ¯å¦å¯éç¨ï¼ç®¡ä»æçå¦ä½ï¼è½å®ç°åè½å°±å¥½ãä½æ¯ï¼çæ£åºç¨äºå®é çï¼æ´è¢«å¤§å®¶é纳çæ¯é£äºé«æçï¼å¯éç¨çï¼ä¾¿äºå¢éå¼åç代ç ãåºäºè¿äºå ç´ ï¼ä½ ä¸è½åç»æä¸æ ·ï¼é便å½åå½æ°åï¼é便æ¾ç½®èæ¬ã设计模å¼åè¯æ¯ç»äººä»¬ç»ç»ä»£ç æä¾ä¸ç§æè·¯ï¼å®ç°å¯éç¨ä»£ç ã让代ç æ´å®¹æ被ä»äººç解ãä¿è¯ä»£ç å¯é æ§ã
äºãåä¾æ¨¡å¼
1ãä»ä¹æ¯åä¾æ¨¡å¼ï¼
åä¾æ¨¡å¼é¡¾åæä¹ï¼å°±æ¯åªæä¸ä¸ªå®ä¾ãä½ä¸ºå¯¹è±¡çå建模å¼ï¼ åä¾æ¨¡å¼ç¡®ä¿æä¸ä¸ªç±»åªæä¸ä¸ªå®ä¾ï¼èä¸èªè¡å®ä¾å并åæ´ä¸ªç³»ç»æä¾è¿ä¸ªå®ä¾ã
2ãç¹ç¹ï¼
1.ä¸æ¯æ个类åªè½æä¸ä¸ªå®ä¾ï¼
2.äºæ¯å®å¿ é¡»èªè¡å建è¿ä¸ªå®ä¾ï¼
3.ä¸æ¯å®å¿ é¡»èªè¡åæ´ä¸ªç³»ç»æä¾è¿ä¸ªå®ä¾ã
3ã常è§åºç¨
php常常åæ°æ®åºæ交éï¼å¦æå¨åºç¨ä¸å¦æé¢ç¹å»ºç«è¿æ¥å¯¹è±¡ï¼è¿è¡newæä½çè¯ï¼ä¼æ¶è大æçç³»ç»å åèµæºï¼è¿å¹¶ä¸æ¯æ们å¸æçå°çãååï¼å¨å¢éåä½é¡¹ç®ä¸ï¼åä¾æ¨¡å¼å¯ä»¥ææé¿å ä¸åç¨åºånewèªå·±ç对象ï¼é æ人为çç³»ç»æ¶èã
ä¸ãå®ä¾
/**
设计模å¼ä¹åä¾æ¨¡å¼
$_instanceå¿ é¡»å£°æ为éæçç§æåé
æé å½æ°å¿ 须声æ为ç§æ,é²æ¢å¤é¨ç¨åºnewç±»ä»è失å»åä¾æ¨¡å¼çæä¹
getinstance()æ¹æ³å¿ é¡»è®¾ç½®ä¸ºå ¬æç,å¿ é¡»è°ç¨æ¤æ¹æ³ä»¥è¿åå®ä¾çä¸ä¸ªå¼ç¨
::æä½ç¬¦åªè½è®¿é®éæåéåéæå½æ°
new对象é½ä¼æ¶èå å
使ç¨åºæ¯:æ常ç¨çå°æ¹æ¯æ°æ®åºè¿æ¥ã
使ç¨åä¾æ¨¡å¼çæä¸ä¸ªå¯¹è±¡åï¼è¯¥å¯¹è±¡å¯ä»¥è¢«å ¶å®ä¼å¤å¯¹è±¡æ使ç¨ã
*/
class man
{
//ä¿åä¾å®ä¾å¨æ¤å±æ§ä¸
private static $_instance;
//æé å½æ°å£°æ为private,é²æ¢ç´æ¥å建对象
private function __construct()
{
echo ‘æ被å®ä¾åäºï¼’;
}
//åä¾æ¹æ³
public static function get_instance()
{
var_dump(isset(self::$_instance));
if(!isset(self::$_instance))
{
self::$_instance=new self();
}
return self::$_instance;
}
//é»æ¢ç¨æ·å¤å¶å¯¹è±¡å®ä¾
private function __clone()
{
trigger_error(‘clone is not allow’ ,e_user_error);
}
function test()
{
echo(“test”);
}
}
// è¿ä¸ªåæ³ä¼åºéï¼å 为æé æ¹æ³è¢«å£°æ为private
//$test = new man;
// ä¸é¢å°å¾å°exampleç±»çåä¾å¯¹è±¡
$test = man::get_instance();
$test = man::get_instance();
$test->test();
// å¤å¶å¯¹è±¡å°å¯¼è´ä¸ä¸ªe_user_error.
//$test_clone = clone $test;
æ»ç»ï¼
æ¬èº«åä¾æ¨¡å¼å¹¶ä¸å¤æï¼ä½éè¦æ·±å ¥ç解ãä¸ç®¡æé æ¹æ³è¢«ç³æ为publicï¼privateè¿æ¯protectedï¼æç»å建对象çæ¶åé½ä¼è°ç¨ãä¸ç´æ¯newå建对象å®ä¾ï¼åä¾æ¨¡å¼ä¹ç¨newå建对象ï¼åªæ¯æ¢ä¸ªå°æ¹èå·²ï¼ä»ç±»å¤å°ç±»å æ¬æç±ç²çªcpaèçå¹³å°ï¼http://www.jiazhua.comï¼æ´çç¼è¾ï¼è½¬è½½è¯·æ³¨æï¼
ç¸å
³æç´¢ï¼
.net设计模å¼
ejb设计模å¼
c++设计模å¼
c++å·¥å模å¼
hibernate ä¸å¯¹ä¸
ç¸å ³æç«
2017-04-21 22:26 php设计模å¼ä¹åä¾æ¨¡å¼
2017-02-18 11:58 php è®¾è®¡æ¨¡å¼ åä¾æ¨¡å¼ï¼singletonï¼
2016-12-12 13:15 php设计模å¼-åä¾æ¨¡å¼
2016-11-14 21:24 php设计模å¼ä¹åä¾æ¨¡å¼
2016-05-31 21:36 php è®¾è®¡æ¨¡å¼ – åä¾æ¨¡å¼
æ´å¤ç¸å ³æç« >>
ææ°æç«
2017-06-20 01:35 èé们ï¼æ没æå¯è½è®©phpæ件åæ¶åªè½ä¸ä¸ªäººè®¿é®
2017-06-20 01:35 æä¹ç¦æ¢å¾çç´æ¥éè¿url访é®
2017-06-20 01:35 æ±æ!å¯å¨wampåªè½ç¨æ¬æºè®¿é®,åå±åç½çå
¶å®è®¾å¤è®¿é®ä¸å°!æäºå¤§å天t-t
2017-06-19 15:35 nginxä¸çthinkphpé®é¢
2017-06-19 15:35 php form æ件ä¸ä¼
æ´å¤ææ°æç« >>
çé¨æç´¢
ä¸å¼ å¾è¡¨
php jsp
php webservice
php å¾è¡¨
php xml
delphi for php
delphi php
php sqlserver
javawebå¼åå®æ1200ä¾
java webå¼åå®æ1200ä¾
asp.netå¼åå®æ1200ä¾
hibernateä¸å¯¹ä¸æ¥è¯¢
hibernate ä¸å¯¹å¤
hibernateä¸çº§ç¼å
hibernate ä¸çº§ç¼å
京icpå¤14022385å·-2
©2014 itnose软件ç¼ç¨æç¨ | èç³»æ们ï¼emailï¼twobrushes@126.com qq:35155868