---恢復內容開始---html
概述:編程
爲了更好的掌握面向對象的編程思惟,推薦幾種經常使用的小技巧,來快速提高面向對象的編程。數組
1. 告別常量app
2. 告別變量負載均衡
3. 告別靜態變量函數
4. 告別函數post
5. 告別全局變量this
6. 告別Map數組 搜索引擎
其它文章url
同類文章介紹篇:面向對象的認識----新生的初識、面向對象的番外----思想的夢遊篇(1)、面向對象的認識---如何找出類
面向對象實踐篇:手把手教你作關鍵詞匹配項目(搜索引擎)---- 第一天 、手把手教你作關鍵詞匹配項目(搜索引擎)---- 第二十一天(新)
負載均衡配置篇:負載均衡----概念認識篇、負載均衡----實現配置篇(Nginx)、負載均衡----文件服務策略
技巧介紹
1.常量轉變成常類型
常量實例:
define("LEVEL_ERROR",'error'); define("LEVEL_WARNING",'warning'); define("LEVEL_INFO",'info'); define("LEVEL_TRACE",'trace');
常類型實例:
class Level { const ERROR = 'error'; const WARNING = 'warning'; const INFO = 'info'; const TRACE = 'trace'; }
2.變量轉成屬性
變量實例:
$userName = "張三"; $userAge = 18; $userAddress = "xx省xx市xx鎮xx村";
屬性實例:
class User { private $name; private $age; private $address; /** * @param mixed $address */ public function setAddress($address) { $this->address = $address; } /** * @return mixed */ public function getAddress() { return $this->address; } /** * @param mixed $age */ public function setAge($age) { $this->age = $age; } /** * @return mixed */ public function getAge() { return $this->age; } /** * @param mixed $name */ public function setName($name) { $this->name = $name; } /** * @return mixed */ public function getName() { return $this->name; } public function __construct($name="",$age=0,$address=""){ $this->name = $name; $this->age = $age; $this->address = $address; } }
$user = new User("張三",18, "xx省xx市xx鎮xx村");
3.靜態變量轉成靜態屬性
靜態變量實例:
static $app; if($app == null){ $app = new App(); }
靜態屬性實例:
class App { private static $app = null; public function instance(){ if(self::$app == null){ self::$app = new self; } return self::$app; } }
4. 靜態函數轉成靜態方法
靜態函數實例:
function version(){ return "1.0.0.0"; }
靜態方法實例:
class App { public static function version(){ return "1.0.0.0"; } }
5. 全局變量轉成屬性
全局變量實例:
function login($password){ global $user; if($user->password === $password){ return true; } throw new Exception("invalid password!"); }
屬性實例:
class UserService { private $user; /** * @param mixed $user */ public function setUser($user) { $this->user = $user; } /** * @return mixed */ public function getUser() { return $this->user; } public function login($password){ if($this->getUser()->password == $password){ return true; } throw new Exception("invalid password!"); } }
6. Map數組轉成對象
Map數組實例:
$orderItems = array(); function addItem($product,$num,&$orderItems){ $orderItems[] = array("product"=>$product,"num"=>$num); }
對象實例:
class Order { private $items; public function addItem($product,$num){ $this->items[] = new OrderItem($product,$num); } } class OrderItem { private $product; private $num; public function __construct($product,$num){ $this->product = $product; $this->num = $num; } }
總結
這些都是一些經常使用的技巧,熟練掌握他們把,也許對大家在之後的編程生涯中會帶來樂趣也說不定。