類是通過class關鍵字來定義的,是對某個物件的定義,包含有關物件名稱、方法、屬性和事件,不過實際上類本身並不是物件,因為類不存在於內存中。
如果想引用類的代碼運行,那需要創建類的一個新的實例(實例化),就等於在內存中創建了一個類,雖然只有一個類,但能從這個類在內存中創建多個相同類型的物件。
現在就直接開一個例子吧~~~
在這邊我寫了一個MysqlClass的類,寫法上一章有介紹過,這邊有屬性與方法,寫了註解讓大家更好的了解,並實例化這個類,把它變成可以訪問的!
<?php
class MysqlClass
{
//成員屬性
const DB_HOST = 'localhost';
const DB_USER = 'root';
const DB_PWD = 'abcd';
const DB_NAME = 'Winnie';
//成員方法
function text_Const()
{
//類中訪問常量
echo MysqlClass::DB_HOST;
echo self::DB_NAME;
echo self::DB_PWD;
}
}
//在類的外部訪問
echo MysqlClass::DB_HOST;
echo MysqlClass::DB_USER;
//在類的內部訪問
$inv = new MysqlClass;
$inv ->text_Const();
一般情況下,類是無法直接使用的,需要將類實例化物件之後才可以使用。
實例化物件的方法
使用物件中的成員屬性
使用物件中的成員方法
$this關鍵字
<?php
class HumanClass
{
//成員屬性
var $name;
var $sex;
var $id; //身份證號
//成員方法
//魔術方法--構造方法 :構建和創造
function __construct($name)
{
echo '#####';
$this->sex = mt_rand(0, 1) ? '男' : '女';
$this->name = $name;
$this->id = uniqid();
//沒有返回值
//return 'aaaa';
}
function sayHi()
{
echo 'Hello~~~';
}
function sing()
{
echo '一閃一閃亮晶晶~';
}
//析構方法 拆解構造
function __destruct()
{
echo '@@@@@@@';
unset($this->id);
}
}
$one = new HumanClass('Winnie');
var_dump($one);
// unset($one);
echo '<hr>';
echo $one->id;
// unset($one);
今天介紹了兩個很主要的魔術方法,剩的明天繼續介紹~~