面向對象的認識----類的轉化 面向對象的認識---如何找出類 負載均衡----文件服務策略

---恢復內容開始---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;
    }
}

 

總結

這些都是一些經常使用的技巧,熟練掌握他們把,也許對大家在之後的編程生涯中會帶來樂趣也說不定。 

相關文章
相關標籤/搜索