SPL學習筆記(5) 函式的使用

2022-08-05 12:18:11 字數 1888 閱讀 8868

一:autoload函式

i : 為了例項化php中的類物件,需要通過一定的方法尋找到類的定義。

通常情況下,類會定義在乙個單獨的檔案中。

現在我們建立乙個資料夾libs,建立檔案 test.php和test.class.php

libs/test.php 和 libs/test.class.php 和 index.php

1:libs/test.php 的**

1

<?php

2class

test

6 }

2:libs/test.class.php 的**

1

<?php

2class

test

6 }

3:index.php 的**

1

<?php2 //

設定autoload的裝載擴充套件字尾名,可以是多個,用逗號隔開,前面的優先

3 spl_autoload_extensions('.class.php,.php');4//

設定環境變數

5set_include_path(get_include_path().path_separator."libs/");6//

告訴php使用autoload函式自動裝載類

7spl_autoload_register();8//

可以使用

9$obj=new

test();

10//

輸出結果 loading class libs/test.class.php

ii:其他方法

__autoload()函式和自定義裝載函式

1

<?php 2//

魔術方法自動裝載類,不用使用spl_autoload_register

3function __autoload($classname)6

//自定義裝載類,可以使用spl_autoload_register("load")自動呼叫

7function load($classname)10

11new test();//

輸出:loading class libs/test.php

load()函式可以不用require_once函式,可以使用spl_autoload函式

1

function load($classname

)

iii:autoload()執行流程

二:其他函式

splfileinfo類和splfileobject類。

1

<?php

2$file=new splfileinfo("demo.txt");3//

檔案建立時間

4echo "file is create at ".date("y-m-d h:i:s",$file->getctime())."";5

//檔案修改時間

6echo "file is modified at ".date("y-m-d h:i:s",$file->getmtime())."";7

//檔案大小

8echo "file size is ".$file->getsize()." bytes";9

//讀取檔案內容

10$fileobj=$file->openfile("r");

11while($fileobj->valid())

15$fileobj=null;//

關閉檔案,必要

16$file=null;//

關閉檔案,必要

三:課程總結

SPL函式的使用 Autoload

1.spl autoload extensions class.php,php set include path get include path path separator.libs spl autoload register new test 2.autoload會自動呼叫 function ...

SPL學習筆記(1) 概念

spl是standard php library的縮寫,他是用於解決常見問題的介面與類的集合。常見問題是什麼問題呢?1 資料建模 資料結構。解決資料如何儲存的問題。2 元素遍歷。資料如何檢視的問題。3 常用方法的統一呼叫。通用方法 陣列 集合的大小 自定義遍歷。4 類定義自動裝載。spl框架包括資料...

SPL學習筆記(1) 概念

一 什麼是spl spl是standard php library的縮寫,他是用於解決常見問題的介面與類的集合。常見問題是什麼問題呢?1 資料建模 資料結構。解決資料如何儲存的問題。2 元素遍歷。資料如何檢視的問題。3 常用方法的統一呼叫。通用方法 陣列 集合的大小 自定義遍歷。4 類定義自動裝載。...