批改狀態(tài):合格
老師批語:這些基礎都理解了, 就差實戰(zhàn)與應用了
對命名空間的理解:
聲明命名空間為 namespace ;
::class //獲取當前類的完整類名稱(命名空間名稱+類名稱);
訪問 new \命名空間名稱\類名稱 ;
在one空間執(zhí)行two空間的test類里的方法: (new \two\test()) -> show ();
命名空間就像城市與街道劃分,命名空間是城市,類是街道
類的定義:生成對象的模板;
類的實例化: $obj = new Demo1();
類的成員: 類屬性(變量概念)和類方法(函數(shù)概念)
get_class_vars() 獲取類中所有屬性組成的數(shù)組;
類中的$this代表當前類的實例,是偽對象;
查看類中的方法 get_class_methods();
構(gòu)造方法 __construct() 魔術(shù)方法 系統(tǒng)自動觸發(fā);
析構(gòu)方法 __destruct() 也是魔術(shù)方法 對象被刪除/清零時觸發(fā);
unset() 刪除對象;
類的繼承
用extends拓展 round(數(shù)據(jù),保留小數(shù)點幾位)四舍五入
實例<?php namespace one; class A{ public $who; public $name; //構(gòu)造方法 public function __construct($who='我是',$name='洪吉潮') { $this->who = $who; $this->name = $name; } public function demo() { return '結(jié)果:' . $this->who . $this->name; } } $obj = new A(); echo $obj -> demo(); namespace two; class A { public $who; public $name; //構(gòu)造方法 public function __construct($who='你是',$name='李文茜') { $this->who=$who; $this->name=$name; } public function demo(){ return '結(jié)果:'.$this->who . $this->name; } } echo '<hr>'; $obj = new A(); echo $obj->demo();
點擊 "運行實例" 按鈕查看在線實例
<?php namespace one; class Db { public $pdo = 'null'; //構(gòu)造方法 創(chuàng)建pdo連接數(shù)據(jù)庫 public function __construct($dsn,$username,$password) { $this->pdo = new \PDO($dsn,$username,$password); } //析構(gòu)方法 public function __destruct() { echo '<br>'.'連接斷開'; } } $db = new Db('mysql:host=127.0.0.1;dbname=php','root','root'); $stmt = $db->pdo->prepare('SELECT * FROM `movies`'); $stmt ->execute(); foreach ($stmt->fetchAll(\PDO::FETCH_ASSOC )as $data){ print_r($data); }
點擊 "運行實例" 按鈕查看在線實例
<?php //命名空間 namespace one; //demo類 class demo { public $name; public $age; //構(gòu)造函數(shù) 實例化時會被自動調(diào)用執(zhí)行 public function __construct($name= '洪吉潮',$age) { $this->name = $name; $this->age = $age; echo '歡迎來到我的個人簡介'.'<br>'.'姓名:'.$this->name.'<br>'; } public function getInfo() { return '年齡:'.$this->age.'<br>'; } } //實例化 $result = new demo('高老師','20'); echo $result->getInfo(); echo '<hr>'; //子類demo1 繼承 父類 demo class demo1 extends demo { public $address; //子類的構(gòu)造函數(shù) public function __construct($address, $name = '洪吉潮' , $age) { $this->address = $address; //繼承父類的構(gòu)造函數(shù) parent::__construct($name, $age); } //方法重寫 public function getInfo() { return parent::getInfo().'哪里人:'.$this->address; // TODO: Change the autogenerated stub } } $result1 = new demo1('廣東人','洪吉潮','22'); echo $result1->getInfo(); echo '<hr>'; //子類demo2 繼承父類demo1 class demo2 extends demo1 { public $teacher; //子類demo2構(gòu)造函數(shù) public function __construct($teacher,$address, $name = '洪吉潮', $age) { $this->teacher = $teacher; //繼承父類demo1的構(gòu)造函數(shù) parent::__construct($address, $name, $age); } //方法重寫 public function getInfo() { $getinfo = parent::getInfo(); return $getinfo.'<br>'. '師從何人:'.$this->teacher; } } $result2 = new demo2('沒有老師','浙江人','李文茜','18'); echo $result2 -> getInfo();
點擊 "運行實例" 按鈕查看在線實例
微信掃碼
關(guān)注PHP中文網(wǎng)服務號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號