php第三課總結

2021-09-26 20:24:51 字數 2474 閱讀 7924

靜態成員

靜態的成員(靜態屬性和靜態方法)

靜態變數關鍵字:static 可寫在許可權修飾符前也 可以寫在許可權修飾符後

<?php  

class book }

//第一次例項化物件

$b1 = new book();

$b1->showme();

//第二次例項化物件

$b2 = new book();

$b2->showme();

//第三次例項化物件

$b3 = new book();

$b2->showme();

注意1:靜態屬性的作用是:保留原始資料值 並往下疊加

如果不使用static 屬性 則每一次答案都是 你是第一位訪客。

注意2:在類中訪問靜態屬性時可以用self::$屬性名 (注意加上$符號 表示的是成員屬性名 如果不加 表示常量) 形式(self)代表當前類, 也可以寫 類名::屬性名 (但建議一般寫第一種方式 因為 self代表的就是本類所以再修改類名的時候 self代替了該類名),另外 在類外訪問靜態方法時就只能用 類名::靜態屬性方法名 在類外不可以呼叫self (代表當前類)$this(代表當前方法)也同理。

注意3:靜態方法必須使用靜態成員。

靜態成員和類常量的區別:類常量一次http中請求過程中 值永遠不變

靜態變數不是 靜態變數沒有許可權

單例模式的特點:

乙個類只能建立乙個物件

雖然單例模式執行出來有時候是兩個值 但是 它代表的是乙個物件單號 我們可以有兩種測試方法1: 可以使用var_dump(db1

,db1,

db1,

db2)的方法看結果是不是乙個物件單號(#1)

方法2:可以使用=== if條件判斷方法 測試

單位模式的**需要實現哪些功能

簡稱:三私一公、

1,私有的靜態的儲存物件的屬性

2,私有構造方法

3,私有的轉殖方法

4公共的靜態物件方法

<?php

//單例

class uni

//防止轉殖物件

private function __clone()

static public function getinstance()

return self::$instance;

}//普通方法

public function method()

} $ob1 = uni::getinstance(); //獲取uni的物件

$ob1->method();

echo "";

$ob2 = uni::getinstance();

$ob2->method();

echo "

"; 測試單例方法一:

if ($ob1 === $ob2) else

測試單例方法二:

var_dump($boj1,$obj2);

轉殖:

關鍵字:clone;

注意:轉殖出來的物件 還是兩個。

<?php

class student

$s1 = new student();

$s1->name = '張三';

//轉殖物件

$s2 = clone $s1;

$s2->name = '李四';

echo $s1->name;

echo '

';echo $s2->name;

物件賦值:

物件之間的賦值,實際就是引用賦值,兩個物件之間賦值後,就是乙個物件了。所以當乙個物件的內容發生變化後,另乙個物件的內容也會發生變化。

普通變數之間的賦值,如果也想使用引用賦值,必須使用&,$name2 =& $name1;

那麼,nam

e1

和name1和

name1和

name2也變成了同乙個變數,它們之間相互影響。

命名空間:關鍵字namespace

建立乙個檔案:student.php

<?php

namespace model; //定義命名間

//類student在model命名空間中

class student

}建立乙個測試檔案:test.php

<?php

use model\student; //引入 model命名空間的student 類

require_once 'student.php';

$stu = new student();

$stu->say();

類的自動載入

何時自動載入?

當試圖使用未定義類時。

使用new建立不存在的類時。

繼承乙個不存在的類時。

使用靜態方法呼叫乙個不存在的類時,

當實現不存在的介面時。

第三課 PHP 語法

php 指令碼在伺服器上執行,然後向瀏覽器傳送回純 html 結果。php 指令碼可放置於文件中的任何位置。php 指令碼以 結尾 此處是 php php 檔案的預設副檔名是 php php 檔案通常包含 html 標籤以及一些 php 指令碼 下面的例子是乙個簡單的 php 檔案,其中包含了使用內...

python第三課答案 python第三課

字串操作 s alexwusir s1 s.capitalize 首字母大寫 print s1 全大寫,全小寫 s2 s.upper s21 s.lower print s2,s21 大小寫翻轉 s3 s.swapcase print s3 每個隔開 特殊字元或數字 的單詞首字母大寫 s alex ...

python第三課答案 python第三課筆記

以下哪個變數的命名不正確?為什麼?a mm 520 b mm520 c 520 mm d 520 mm 答 c不正確,不能數字開頭 在不上機的情況下,以下 你能猜到螢幕會列印什麼內容嗎?myteacher 小甲魚 yourteacher myteacher yourteacher 黑夜 print ...