原创 DNS概念、相關概念及解析流程

DNS概念 DNS,即Domain Name System,中文翻譯爲網域名稱系統。是一項聯網的服務,本質上可以理解爲一個分佈式的數據庫,提供將域名轉換爲IP的服務。 使用TCP和UDP端口53; 每一級域名長度的限制是63個字

原创 PHPStorm+Xdebug調試本地PHP腳本

注意本文將要講的是使用phpstorm和xdebug調試本地php的腳本,例如編寫php腳本處理文本、測試程序等,並不是php的web程序。而web程序將在專欄中的其他文章中詳細介紹。 環境 php運行環境安裝了xdebug

原创 每天5分鐘,細讀PHP手冊-3

Array數組 自 PHP 5.4 起可以用直接對函數或方法調用的結果進行數組解引用,在此之前只能通過一個臨時變量。 自 PHP 5.5 起可以直接對一個數組原型進行數組解引用。 試圖訪問一個未定義的數組鍵名與訪問任何未定義變量

原创 每天5分鐘,細讀PHP手冊-12

錯誤處理 error_reporting設置錯誤級別; display_errors控制腳本是否輸出錯誤; log_errors和error_log指令控制錯誤日誌; PHP7將很多錯誤當做異常處理,但catch的是ERROR類

原创 每天5分鐘,細讀PHP手冊-14

用戶提交的數據 必須時常留意你的代碼,以確保每一個從客戶端提交的變量都經過適當的檢查,然後問自己以下一些問題: 此腳本是否只能影響所預期的文件? 非正常的數據被提交後能否產生作用? 此腳本能用於計劃外的用途嗎? 此腳本能否和其

原创 每天5分鐘,細讀PHP手冊-13

支持的協議和封裝協議 file:// — 訪問本地文件系統 http:// – https:// — 訪問 HTTP(s) 網址 ftp:// – ftps:// — 訪問 FTP(s) URLs php:// — 訪問各個輸入

原创 【PHP擴展之旅】APC和APCu

擴展介紹 分配一定大小的內存,緩存opcode,也可以在程序中緩存數據。 APC和APCu APC是比較老的版本,只更新到2015年。而APCu最早的版本是從4.0.0開始的,當時是直接從APC的master分支直接fork過來的

原创 每天5分鐘,細讀PHP手冊-11

重載 php的重載不是嚴格意義上的重載。它是指動態的創建類屬性和方法,這一點是通過魔術方法來實現的。 當調用當前環境下未定義或不可見的類屬性或方法時,重載方法會被調用。本節後面將使用不可訪問屬性和不可訪問方法來稱呼這些未定義或不可見

原创 Sql語句轉Markdown格式表格——sql2markdown

實際工作中,經常要用到數據字典。在項目初期維護數據字典很容易,但隨着項目的推進,數據庫結構的改動,這項維護工作變得越來越困難。如果你的數據庫結構中的備註寫的夠全,那麼直接將sql語句導出成爲markdown表格肯定會讓數據字典維護工

原创 每天5分鐘,細讀PHP手冊-9

類與對象 自 PHP 5 起完全重寫了對象模型以得到更佳性能和更多特性。這是自 PHP 4 以來的最大變化。PHP 5 具有完整的對象模型; 創建對象有三種方式:new class, new object, class::getNe

原创 每天5分鐘,細讀PHP手冊-10

static關鍵字 靜態屬性不能通過一個類已實例化的對象來訪問(但靜態方法可以); 爲了兼容 PHP 4,如果沒有指定訪問控制,屬性和方法默認爲公有; 由於靜態方法不需要通過對象即可調用,所以僞變量 $this 在靜態方法中不可用;

原创 每天5分鐘,細讀PHP手冊-8

include 查找順序: 被包含文件先按參數給出的路徑尋找; 如果沒有給出目錄(只有文件名)時則按照 include_path 指定的目錄尋找; 如果在 include_path 下沒找到該文件則 include 最後纔在調用腳本

原创 每天5分鐘,細讀PHP手冊-5

常量語法 使用define()來定義常量,5.3之後,可以使用const; 和使用 define() 來定義常量相反的是,使用 const 關鍵字定義常量必須處於最頂端的作用區域,因爲用此方法是在編譯時定義的。這就意味着不能在函數內

原创 每天5分鐘,細讀PHP手冊-6

錯誤控制運算符 @:放在一個表達式之前,該表達式可能產生的任何錯誤信息都被忽略掉。 目前的"@“錯誤控制運算符前綴甚至使導致腳本終止的嚴重錯誤的錯誤報告也失效。這意味着如果在某個不存在或者敲錯了字母的函數調用前用了”@"來抑制錯誤信息

原创 每天5分鐘,細讀PHP手冊-4

變量 php中的變量是用一個美元符號後面跟着變量名來表示,變量名是區分大小寫的。 $this 是一個特殊的變量,它不能被賦值; php的變量賦值默認是傳值賦值,可以使用&來實現引用賦值; 只有有名字的變量纔可以引用賦值; 未初始化的