PHP基礎筆記(03)

2021-07-13 01:40:55 字數 1737 閱讀 9556

php筆記,主要記錄php與c++、c#之類的語言的一些差異,以及一些有價值的細節。

這部分目前不是重點。伺服器檔案相關的操作主要用來寫配置、生成內容及生成靜態網頁;而gd用來繪圖,可以生成影象並輸出到客戶端。

gd估計是graphic generation,但是有本書上寫是gif draw,待確認,現在主要的作用也就是生成驗證碼及的水印。

超全域性陣列$_server儲存了當前程式的伺服器相關資訊,比如$_server['php_selp']為當前網頁的路徑。

gd輸出影象很方便:

以gif為例,輸出到客戶端:

header("content-type:image/gif");

imagegif($pic);

輸出為伺服器檔案:

imagegif($pic,"images/sample.gif");
獲取影象資訊使用getimagesize(string filename),返回乙個4個元素的陣列:

元素序號值說明

0影象寬度

整數,單位畫素

1影象高度

整數,單位畫素

2影象格式

類似imagetype_gif這樣的預定義常數

3影象尺寸

字串,類似width="x" height="y"

如果只需要判斷影象格式,可以使用exif_imagetype(string filename),返回的值類似於imagetype_gif這樣的預定義常數,這個函式執行更快。

讀取影象的函式類似於imagecreatefromgif(string filename)。檔案路徑可以是本地檔案,也可以是**,相對位址和絕對位址都可以。返回值即影象的記憶體物件(resource)。

影象屬於resource物件,會占用較多記憶體,不使用時可以手動釋放以**記憶體空間,使用imagedestory($pic)釋放物件。

類成員的呼叫使用->操作符,例如$this->member。靜態成員呼叫使用::操作符,例如class::$member。常量成員使用const定義,這不同於普通常量使用define,後者更類似c中的巨集。->::輸入都很麻煩,不如c#中全部統一成.,本身成員呼叫什麼的也不會互相衝突,估計是直譯器實現方面的問題。

類的建構函式和析構函式,分別為void __construct()void __destruct()

php的類屬於object,賦值基於引用。要對類進行複製使用clone關鍵字,例如:$object_new=clone $object_old。物件的複製屬於淺複製(shadow copy),即複製物件,但複製後內部成員扔指向相同的物件。

類的繼承為單繼承,關鍵字extends。類也支援介面,使用關鍵字inte***ceimplements

由於php型別無關的靈活性,它的類有乙個重要特性trait。有點像c++的friend。另外,似乎也沒有模板template出現的必要。

未完

php基礎03 函式

分為內建函式和自定義函式 函式名不區分大小寫,不過在呼叫函式的時候,通常使用其在定義時相同的形式 php不支援函式過載,所以自定義函式不能與內建函式重名。值傳遞 函式內對引數值的改變不會影響函式外部的值 引用傳遞 傳址 有些情況下,可能希望在函式體內對引數的修改在函式體外也能反映 使用引用傳遞引數要...

JS基礎筆記03

var arr new array 2 var strarr new array a b c 陣列的字面量 var arr var stringarr a b 比較簡單的建立方法 陣列可以存任意型別的資料 陣列的計數從0開始 即下標 單獨賦值 arr 0 234 資料分為簡單型別 值型別 和複雜資料...

PHP學習筆記03 函式

1 public w3c dtd html 4.01 transitional en 23 1.簡單函式示例,建立乙個n m的table5 php中的函式格式,其中可以沒有返回值 6 function 引數1,引數2.10 在函式定義之前和之後都可以呼叫函式 11 12 create table 3...