PHP最常用的2種設計模式:工廠模式和單例模式_PHP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:PHP中++i 與 i++ 的區別1、++i 的用法(以 a=++i ,i=2 為例) 先將 i 值加 1 (也就是 i=i+1 ),然后賦給變量 a (也就是 a=i ), 則最終 a 值等于 3 , i 值等于 3 。 所以 a=++i 相當于 i=i+1 ,a=i 2、i++ 的用法(以 a=i++ ,i=2 為例) 先將 i 值賦給變量 a (也就是 a=i ),然后 i 值加 1 (也就
1.工廠模式
主要作用是降低耦合度。
用在真正開發中一般當做數據庫選擇類。
- abstract class Operation{
- abstract public function getValue($num1,$num2);
- public function getAttr(){
- return 1;
- }
- }
- class Add extends Operation{
- public function getValue($num1, $num2){
- return $num1+$num2;
- }
- }
- class Sub extends Operation{
- public function getValue($num1, $num2){
- return $num1-$num2;
- }
- }
- class Factory{
- public static function CreateObj($operation){
- switch ($operation){
- case '+': return new Add();
- case '-': return new Sub();
- }
- }
- }
- $Op=Factory::CreateObj('-');
- echo $Op->getValue(3, 6);
2單例模式
單例是因為一個就足夠了,多了浪費。比如郵局里的電話簿只有一本,有需要的人拿來看,沒有必要每個人要查的時候工作人員就拿一本出來,看完了再回收。
實際中用作數據庫連接類和工廠模式一起使用,根據參數調用單例模式,可以提高資源使用效率。
- class Mysql{
- public static $conn;
- public static function getInstance(){
- if (!self::$conn){
- new self();
- return self::$conn;
- }else {
- return self::$conn;
- }
- }
- private function __construct(){
- self::$conn= "mysql_connect:";// mysql_connect('','','')
- }
- public function __clone()
- {
- trigger_error("Only one connection");
- }
- }
- echo Mysql::getInstance();
- echo Mysql::getInstance();
分享:php中判斷文件空目錄是否有讀寫權限Example #1 is_writable() 例子 代碼如下 復制代碼 $filename = 'test.txt'; if (is_writable($filename)) { echo 'The file is writable'; } else { echo 'The file is not writable'; } ? 上面的函數有一個問題就是filename 必需。規定要檢查的文件 ,必須是文件啊,
相關PHP教程:
- 相關鏈接:
- 教程說明:
PHP教程-PHP最常用的2種設計模式:工廠模式和單例模式
。