php 模式
Posted 刘冉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 模式相关的知识,希望对你有一定的参考价值。
设计模式
1.单例模式
类的计划生育
1.让该类在外界无法造对象
2.让外界可以造一个对象,做一个静态方法返回对象
3.在类里面通过静态变量控
1 class Dog 2 { 3 static $dx; 4 public $test; 5 6 private function __construct() 7 { 8 9 } 10 11 static function DuiXiang() 12 { 13 //return new Dog(); 14 15 if(empty(self::$dx)) 16 { 17 self::$dx = new Dog(); 18 } 19 20 return self::$dx; 21 } 22 } 23 24 $a = Dog::DuiXiang(); 25 26 27 $b = Dog::DuiXiang(); 28 $b->test="hello"; 29 30 31 var_dump($a); 32 33 //工厂模式 34 /*class YunSuan 35 { 36 public $a; 37 public $b; 38 39 function Jia() 40 { 41 return $a+$b; 42 } 43 function Jian() 44 { 45 return $a-$b; 46 } 47 }*/ 48 49 abstract class YuanSuan 50 { 51 public $a; 52 public $b; 53 54 function Suan() 55 { 56 } 57 } 58 59 class Jia extends YuanSuan 60 { 61 function Suan() 62 { 63 return $this->a+$this->b; 64 } 65 } 66 67 class Jian extends YuanSuan 68 { 69 function Suan() 70 { 71 return $this->a-$this->b; 72 } 73 } 74 75 class Cheng extends YuanSuan 76 { 77 function Suan() 78 { 79 return $this->a*$this->b; 80 } 81 } 82 83 /*$j = new Cheng(); 84 $j->Suan(); 85 */ 86 87 class GongChang 88 { 89 static function ShengChan($f) 90 { 91 switch($f) 92 { 93 case "+": 94 return new Jia(); 95 break; 96 case "-": 97 return new Jian(); 98 break; 99 case "*": 100 return new Cheng(); 101 break; 102 } 103 } 104 } 105 106 107 $r = GongChang::ShengChan("*"); 108 $r->a=10; 109 $r->b=5; 110 echo $r->Suan();
制返回对象只能是一个
以上是关于php 模式的主要内容,如果未能解决你的问题,请参考以下文章