
批改狀態(tài):合格
老師批語:
將外部文件的內(nèi)容插入當(dāng)前位置;
include
與require
// 1.include
// 代碼出錯后忽略錯誤,繼續(xù)執(zhí)行后面代碼;
相對路徑:include 'inc/f1.php';
絕對路徑:include __DIR__ . '/inc/f1.php';
echo $username ;
// 2.require
// 代碼出錯后直接退出;
require __DIR__ . '/inc/f1.php';
echo $username ;
類:全局成員,聲明(class),用大駝峰(UserName)
對象:一個容器,是全局成員一個前綴
1.類聲明
class Goods{...};
2.類的實例化(對象)
$goods = new Goods();
1.實例成員:用對象訪問($this)
class User1
{
// 1. 實例成員
// (一) 屬性, 變量的語法
// public: 公共(默認(rèn))
public $username = '張老師';
public $role = '媽';
// 私有, 只能在當(dāng)前的類中使用
private $salary = 3800;
private $age = 28;
// (二) 方法: 函數(shù)的語法
// public function getSalary()
// {
// $this : 和當(dāng)前類實例綁定
// return $this->salary;
// }
// public function getAge()
// {
// return $this->age;
// }
// 獲取器: __get(屬性), 魔術(shù)方法, 雙下劃線開始的系統(tǒng)方法
// $name: 要獲取的屬性名
public function __get($name)
{
// 類內(nèi)部: $this
// return $this->$name;
if ($name === 'salary') {
if ($this->role === '太太') {
return $this->$name;
} else {
return $this->$name - 1000;
}
}
if ($name === 'age') {
return $this->$name + 10;
}
}
// 修改器/設(shè)置器, 魔術(shù)方法, __set(屬性,值)
public function __set($name, $value)
{
if ($name === 'age') {
if ($value >= 18 && $value <= 50) {
$this->$name = $value;
} else {
echo '年齡越界了';
}
}
}
// __get, __set, 成員非法訪問攔截器
}
// 實例化
// 在類外部,用對象訪問成員
$user1 = new User1();
echo $user1->username , '<br>';
// echo $user1->salary , '<br>';
echo $user1->salary . '<br>';
echo $user1->age . '<br>';
$user1->age = 48;
echo $user1->age . '<br>';
2.靜態(tài)成員 static:用類訪問(self::)
class User2
{
public $username;
private $salary;
private $age;
// 當(dāng)前類實例的狀態(tài)(屬性值)由用戶決定
// 構(gòu)造方法: 魔術(shù)方法, 不用用戶主動調(diào)用,由某個事件或動作來觸發(fā)
// __get,__set
// 構(gòu)造方法, 實例化該類時,會自動觸發(fā)
public function __construct($username, $salary, $age,
$nation = 'CHINA')
{
$this->username = $username;
$this->salary = $salary;
$this->age = $age;
// 初始化靜態(tài)屬性
self::$nation = $nation ;
}
// 靜態(tài)成員 static
// 靜態(tài)屬性
public static $nation;
// 靜態(tài)方法
public static function hello()
{
// return 'Hello,' . User2::$nation;
// 在類中, 使用 self::來引用當(dāng)前類
return 'Hello,' . self::$nation;
}
}
$user2 = new User2('李老師', 2800, 30, '中國');
echo $user2->username . '<br>';
echo User2::$nation . '<br>';
$user3 = new User2('豬老師', 3800, 40, '中國');
echo $user3->username . '<br>';
// echo $user3->nation . '<br>';
// 類外部,訪問靜態(tài)成員,使用類名稱::
echo User2::$nation . '<br>';
echo User2::hello() . '<br>';
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號