摘要:后面可以使用任意字符和下劃線(xiàn)例如非法的變量在函數(shù)中創(chuàng)建的,它的生命周期與函數(shù)一樣,在主腳本中生成的變量不在函數(shù)中不是全局變量,不能在函數(shù)中使用它,但是可以用來(lái)訪(fǎng)問(wèn)使用變量的名字作為字符串的關(guān)鍵字給程序員一個(gè)鼓勵(lì)唄微信支付寶
1.類(lèi)的寫(xiě)法
class MyClass { private $id = 19; public function __construct() { print("開(kāi)始構(gòu)造"); return ; } public function getId() { return $this->id; } public function __destruct() { print("開(kāi)始析構(gòu)"); } } $class = new MyClass(); echo $class->getId();
2.接口寫(xiě)法
interface Display { function display(); } class hah implements Display { function display() { print("jajaj"); } } $hah = new hah(); $hah->display();
3.靜態(tài)成員 靜態(tài)方法訪(fǎng)問(wèn) 不需要實(shí)例化 引用類(lèi)調(diào)用即可
class MyClass { const success = "jajaja"; public static function getValue(){ echo self::success; } } echo MyClass::success; echo MyClass::getValue(); //不用 $class = new MyClass();
4.單例模式 只被實(shí)例化一次 防止多次實(shí)例消耗資源 例如pdo 連接數(shù)據(jù)庫(kù)
class Singleton { private static $instance = null; public static function getInstance() { if(self::$instance == null) { self::$instance = new Singleton(); var_dump("單例模式"); } return self::$instance; } } Singleton::getInstance();
5.抽象類(lèi)以及繼承
把類(lèi)聲明為抽象類(lèi)可以防止被實(shí)例化,但是可以繼承一個(gè)抽象類(lèi),并實(shí)現(xiàn)其中的抽象方法。包含抽象方法的類(lèi)必須聲明為抽象類(lèi)
abstract class MyBaseClass { abstract function display(); } class haha extends MyBaseClass { public function display() { echo "你就是我的唯一"; } } $cls = new haha(); $cls->display();
6.函數(shù)參數(shù)類(lèi)型判定
對(duì)象才解析,字符串報(bào)錯(cuò) 如下
class test { } function expectClass (test $obj) { echo "Kakak".E_ALL; } $cl = new test(); $tt = "asdsa"; expectClass($tt);
7.try catch 報(bào)異常
需要繼承excettion類(lèi)
class SqlException extends Exception { public $problem; function __construct($problem) { $this->problem = $problem; } } try { throw new SqlException("could not connect database"); } catch(SqlException $e) { print("Caught an SqlException with problem ".$e->problem); }
8.&應(yīng)用,遍歷數(shù)組 改值
php4中不能遍歷一個(gè)數(shù)組同時(shí)更改值,php5通過(guò)foreach 參數(shù)上加上&(引用)符號(hào),在遍歷數(shù)組的時(shí)候跟改值
$arr = array( "1"=>"hello", "2"=>"hel", "3"=>"haha" ); foreach ($arr as & $val) { if($val=="hel") { $val = "hello hah"; } } echo ""; var_dump($arr); exit;9.給引用參數(shù)設(shè)置默認(rèn)值
php4 只能給傳遞值得參數(shù)默認(rèn)值,php5可以給傳遞引用的參數(shù)設(shè)置默認(rèn)值function test(&$arg = null) { if($arg === null) { print "$arg is empty"; } else { echo "$arg"; } } $ff = "213"; test($ff);10.短標(biāo)記
php 語(yǔ)法 一般而言 配置php.ini中的short_open_tag 之后可以使用 ?> 標(biāo)簽書(shū)寫(xiě)代碼 一般不建議開(kāi)啟該功能故而默認(rèn)關(guān)閉,需要手動(dòng)開(kāi)啟才能用11.php注釋
1.第一種 c注釋的風(fēng)格 可以跨越多行,直到標(biāo)記結(jié)束 /** * 哈哈哈 */ 2.c++ 方式 // 哈哈哈哈 3.shell 方式 # hahah12.變量
變量不必聲明,類(lèi)型也不用聲明$做前綴,變量的名字可以用一個(gè)字母(A~Z,a~z)或者_(dá)(下劃線(xiàn))開(kāi)始。后面可以使用任意字符和下劃線(xiàn) 例如: $abc $_aa $a123 非法的: $123 $*ab 變量在函數(shù)中創(chuàng)建的,它的生命周期與函數(shù)一樣,在主腳本中生成的變量(不在函數(shù)中)不是全局變量,不能在函數(shù)中使用它,但是可以用$GLOBALS[]來(lái)訪(fǎng)問(wèn)(使用變量的名字作為字符串的關(guān)鍵字)**
給程序員一個(gè)鼓勵(lì)唄!**
微信
支付寶
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/23131.html
摘要:入門(mén),第一個(gè)這是一門(mén)很新的語(yǔ)言,年前后正式公布,算起來(lái)是比較年輕的編程語(yǔ)言了,更重要的是它是面向程序員的函數(shù)式編程語(yǔ)言,它的代碼運(yùn)行在之上。它通過(guò)編輯類(lèi)工具,帶來(lái)了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語(yǔ)言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺(jué)已經(jīng)到來(lái)了,總結(jié)過(guò)去的 2017,相信小伙們一定有很多收獲...
摘要:入門(mén),第一個(gè)這是一門(mén)很新的語(yǔ)言,年前后正式公布,算起來(lái)是比較年輕的編程語(yǔ)言了,更重要的是它是面向程序員的函數(shù)式編程語(yǔ)言,它的代碼運(yùn)行在之上。它通過(guò)編輯類(lèi)工具,帶來(lái)了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語(yǔ)言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺(jué)已經(jīng)到來(lái)了,總結(jié)過(guò)去的 2017,相信小伙們一定有很多收獲...
摘要:入門(mén),第一個(gè)這是一門(mén)很新的語(yǔ)言,年前后正式公布,算起來(lái)是比較年輕的編程語(yǔ)言了,更重要的是它是面向程序員的函數(shù)式編程語(yǔ)言,它的代碼運(yùn)行在之上。它通過(guò)編輯類(lèi)工具,帶來(lái)了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語(yǔ)言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺(jué)已經(jīng)到來(lái)了,總結(jié)過(guò)去的 2017,相信小伙們一定有很多收獲...
摘要:使用映射執(zhí)行授權(quán)模式結(jié)果是函數(shù),類(lèi),變量遇到未定義的變量或者常量時(shí)會(huì)繼續(xù)運(yùn)行,但是它一旦遇到未定義的函數(shù)或者類(lèi)時(shí)就會(huì)終止執(zhí)行在類(lèi)中有一個(gè)特例。如果用戶(hù)定義了函數(shù),他在調(diào)用未定義的類(lèi)時(shí),會(huì)通過(guò)返回該類(lèi)的定義,新加載的類(lèi)將會(huì)被使用,不會(huì)出錯(cuò) 1.使用映射執(zhí)行授權(quán)模式 class ClassOne { function callClassOne() { prin...
摘要:當(dāng)有值改變時(shí)調(diào)用實(shí)現(xiàn)類(lèi)繼承觀(guān)察類(lèi)的方法即完成通知方法里面可以寫(xiě)被通知之后的操作,如打印字符串等等觀(guān)察者模式給程序員一個(gè)鼓勵(lì)唄微信支付寶 1.__get __set class Test { private $arr = array( x=>null, y=>null ); function __get($property) {...
閱讀 2565·2021-11-11 16:54
閱讀 1285·2021-09-22 15:23
閱讀 3745·2021-09-07 09:59
閱讀 2135·2021-09-02 15:41
閱讀 3356·2021-08-17 10:13
閱讀 3152·2019-08-30 15:53
閱讀 1300·2019-08-30 13:57
閱讀 1282·2019-08-29 15:16