成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

php語言特性學(xué)習(xí)(二)

wemall / 2795人閱讀

摘要:變量的管理用來判斷某個(gè)變量是否已經(jīng)被聲明,返回一個(gè)布爾值,如果變量被定義,返回否則返回當(dāng)變量被定義成也返回。同樣可以檢查某個(gè)數(shù)組中元素是否被設(shè)置。這就保證方法的擴(kuò)展性。加一個(gè)子類繼承父類即可。

1.變量的管理

1.isset用來判斷某個(gè)變量是否已經(jīng)被php聲明,返回一個(gè)布爾值,如果變量被定義,返回true 否則返回false 當(dāng)變量被定義成null也返回false。同樣可以檢查某個(gè)數(shù)組中元素是否被設(shè)置??梢越邮苋我鈹?shù)量參數(shù)
isset($val1,$val2 ...) 但是只有全部被設(shè)置了才返回true
2.unset 取消定義之前的變量 如果沒有其他變量引用的話會(huì)釋放這個(gè)變量的內(nèi)存空間。用inset檢測unset的值返回false
3.empty 檢測一個(gè)變量是否被聲明或者是否為false
超全局變量
$_GET:一個(gè)包含所有php從客戶瀏覽器收到的get變量
$_POST:一個(gè)包含所有php從客戶瀏覽器收到的post變量
$_COOKIE:一個(gè)包含所有php從客戶瀏覽器收的cookie的數(shù)組
$_ENV:一個(gè)包含環(huán)境變量的數(shù)組
$_SERVER:一個(gè)存放web環(huán)境變量的數(shù)組

2.轉(zhuǎn)義

雙引號(hào)變量回解析,單引號(hào)不會(huì)解析。雙引號(hào)里面可以有轉(zhuǎn)義,單引號(hào)不行

3.多態(tài)

class Cat {
    function miau() {
        print("miau");
    }
}
class Dog {
    function wuff() {
        print("wuff");

    }
}

function printResult($obj) {
    if($obj instanceof Cat) {
        $obj->miau();
    } else if($obj instanceof Dog) {
        $obj->wuff();
    }else {
        print("error:wrong object");
    }
}

echo printResult(new Dog());
echo "
"; echo printResult(new Cat()); //下面是結(jié)果 wuff miau

可以看出本例子不可以擴(kuò)展,如果再加一個(gè)動(dòng)物則必須改源碼 所以用下面方法替換
建立一個(gè)父類,建立cry方法。再分別建立兩個(gè)子類cat dog類并且也建立cry方法(對父類方法重寫),再用一個(gè)實(shí)例函數(shù)判斷對象,分流。這就保證方法的擴(kuò)展性。加一個(gè)子類繼承父類即可。而不必改源碼

//定義一個(gè)父類
class Father {
    function cry($arg) {
        print($arg);
    }
}
class Cat extends Father{
    function cry() {
        print("Cat");
    }
}
class Dog extends Father{
    function cry() {
        print("Dog");

    }
}
function printResult($obj) {
    if($obj instanceof Cat) {
        $obj->cry();
    } else if($obj instanceof Dog) {
        $obj->cry();
    }else {
        print("error:wrong object");
    }
}

echo printResult(new Dog());
echo "
"; echo printResult(new Cat());

4.父類,子類中的parent:: self::

self:: 調(diào)用當(dāng)前類的方法,屬性
parent::調(diào)用父類的方法和屬性

//父類
class Father {
    const name = "father";
    public function __construct() {
        print(self::name);
    }
}
//子類
class child extends Father {
    const name = "child";
    public function __construct() {
        parent::__construct();
        echo "
"; print(self::name); } } $child = new child();

5.instanceof 操作符 判斷類的邏輯二元運(yùn)算符

class Father {
    public $name = __CLASS__;
}

class Child extends Father {
    public $name = __CLASS__;
}

class test {
    public $name = __CLASS__;
}

 function judge($obj) {
    if(!($obj instanceof Father)) {
        print($obj->name);
        print(" is a father");
    }
 }

judge(new Child());
judge(new test());

6.toString方法(里面是return的值)

class Person {
    private $name;
    function __construct($name) {
        $this->name = $name ;
    }

    function __toString() {
        return $this->name;//一定要return值 調(diào)用類的時(shí)候后返回
    }
}

$obj = new Person("mmy family");
print($obj);

7.try catch exception 必須繼承exception 類

class NullHandleException extends Exception {
    function __construct($message) {
        parent::__construct($message);
    }
}

function printObj($obj) {
    if($obj == null) {
        throw new NullHandleException("print Object received null object");
    }
    print($obj."
"); } class MyName { private $name; function __construct($name) { $this->name = $name; } function __toString() { return $this->name; } } try { printObj(new MyName("boss")); printObj(NULL); printObj(new MyName("jone")); } catch(NullHandleException $e) { print $e->getMessage()."
"; print "in file " . $e->getFile()."
"; print "on line " . $e->getLine(); } //結(jié)果是 boss print Object received null object in file /mnt/hgfs/www/test/class.php on line 269

8.__autoload 自動(dòng)載入

MyClass.php
class MyClass {
    function hello() {
        print "hello my friend ";
    }
}
general.inc
    function __autoload($class_name) {
       // echo$_SERVER["DOCUMENT_ROOT"]."/classes/".$class_name.".php";
    require_once($_SERVER["DOCUMENT_ROOT"]."/classes/".$class_name.".php");
    }
 
main.php

require_once("general.inc");
$class = new MyClass();
echo "hello";exit;
$class->hello();
//__autoload 主動(dòng)調(diào)用class自動(dòng)加載(載入)

**

給程序員一個(gè)鼓勵(lì)唄!

**

微信

支付寶

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/23158.html

相關(guān)文章

  • SegmentFault 技術(shù)周刊 Vol.40 - 2018,來學(xué)習(xí)一門新的編程語言吧!

    摘要:入門,第一個(gè)這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運(yùn)行在之上。它通過編輯類工具,帶來了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...

    caspar 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.40 - 2018,來學(xué)習(xí)一門新的編程語言吧!

    摘要:入門,第一個(gè)這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運(yùn)行在之上。它通過編輯類工具,帶來了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...

    nihao 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.40 - 2018,來學(xué)習(xí)一門新的編程語言吧!

    摘要:入門,第一個(gè)這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運(yùn)行在之上。它通過編輯類工具,帶來了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...

    Drummor 評論0 收藏0
  • PHP程序員學(xué)習(xí)路線

    摘要:第一階段基礎(chǔ)階段基礎(chǔ)程序員重點(diǎn)把搞熟練核心是安裝配置基本操作目標(biāo)能夠完成基本的系統(tǒng)安裝,簡單配置維護(hù)能夠做基本的簡單系統(tǒng)的開發(fā)能夠在中型系統(tǒng)中支持某個(gè)功能模塊的開發(fā)。本項(xiàng)不做重點(diǎn)學(xué)習(xí),除非對前端有興趣。 第一階段:基礎(chǔ)階段(基礎(chǔ)PHP程序員) 重點(diǎn):把LNMP搞熟練(核心是安裝配置基本操作) 目標(biāo):能夠完成基本的LNMP系統(tǒng)安裝,簡單配置維護(hù);能夠做基本的簡單系統(tǒng)的PHP開發(fā);能夠在P...

    genedna 評論0 收藏0
  • php學(xué)習(xí)筆記()面向?qū)ο缶幊?/b>

    摘要:具有構(gòu)造函數(shù)的類會(huì)在每次創(chuàng)建新對象時(shí)先調(diào)用此方法,所以非常適合在使用對象之前做一些初始化工作。類的定義以關(guān)鍵字開始,類的命名通常以每個(gè)單詞第一個(gè)字母大寫定義屬性構(gòu)造函數(shù),在對象被實(shí)例化的時(shí)候自動(dòng)調(diào)用是里面的偽變量,表示對象自身。 public 公有的:本類,子類,外部對象都可以調(diào)用 protected 受保護(hù)的:本類 子類,可以執(zhí)行,外部對象不可以調(diào)用 private 私有的:只能...

    alanoddsoff 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<