一讼撒,面向?qū)ο蟮乃枷?/h2>
1.1解釋:將對象作為程序的基本單元再菊,將程序和數(shù)據(jù)封裝其中,以提高軟件的重用性宏邮,靈活性泽示,可擴展性缸血。
對象由屬性和方法組成
對象在PHP 中使用一種zend_object_value的結(jié)構(gòu)儲存的
1.2對象和類的概念以及關(guān)系:
類是定義一系列屬性和操作的模板,而對象則把屬性進行具體化械筛,然后交給類處理捎泻。
對象就是數(shù)據(jù),對象本身不包含方法
1.3魔術(shù)方法:
__construct ? 構(gòu)造方法 ? 一個類只能有一個構(gòu)造函數(shù)
__set ? ?__get ? 重載
__get
__toString ?定制輸出結(jié)果:
__call() ? 重載方法
1.4類的組合和繼承
繼承:子類繼承父類的屬性和方法埋哟;子類擁有父類的屬性和方法笆豁,子類也可以擁有自己的屬性和方法;
耦合:是一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量赤赊;
繼承的劣勢:
繼承破壞封裝性
繼承是緊耦合性
繼承擴展復(fù)雜
1.5多態(tài): 同一類的對象收到相同的消息時闯狱,會得到不同的結(jié)果.
多態(tài)性是一種通過多種狀態(tài)或階段描述相同對象的編程方式。
1.6接口 ? 對于實現(xiàn)我的所有類抛计,看起來都應(yīng)該像我現(xiàn)在的這個樣子哄孤。
接口為抽象而生
TRAITS可視為加強型的接口
接口作為一種規(guī)范和契約存在
由于PHP 是弱類型,且強調(diào)靈活吹截,所以不推薦大規(guī)模使用接口瘦陈,而是僅在部分內(nèi)核代碼中使用接口。從語義上考慮波俄,可以更多的使用抽象類晨逝!
接口的不足:一是沒有契約限制,二是缺少足夠多的內(nèi)部接口
1.7反射
對文件里的類進行描述捉貌,逐個生成描述文檔!
1.8 PHP 的異常處理
try
{ //...}
catch(Exception $e)
{ //...}
PHP中try{}catch{}是異常處理.
將要執(zhí)行的代碼放入TRY塊中,如果這些代碼執(zhí)行過程中某一條語句發(fā)生異常,則程序直接跳轉(zhuǎn)到CATCH塊中,由$e收集錯誤信息和顯示.
異常:是程序運行中不符合預(yù)期的情況及與正常流程不同的情況阀趴。
異常只有手動拋出后才能捕獲昏翰,或者是有內(nèi)建的異常機制時時,會先觸發(fā)錯誤刘急,再捕獲異常棚菊!
1.9PHP錯誤: 會使腳本運行不正常!
錯誤級別由低到高:warning notice deprecated ?fetal error?
php.ini ?中 error_reporting() ? 設(shè)置錯誤級別叔汁;
set_error_handler(error_function, error_types); ?自定義的錯誤處理函數(shù)
二统求,面向?qū)ο笤O(shè)計的五大原則
2.1 單一職責(zé)原則:(SRP)
減少類之間的耦合;提高類得復(fù)用性据块;
工廠模式(Factory):允許你在代碼執(zhí)行時實例化對象码邻。
2.2接口隔離原則(ISP);
理解:一個類對另外一個類的依賴性應(yīng)當(dāng)是建立在最小的接口上的另假。
客戶端程序不應(yīng)該依賴它不需要的接口方法像屋;
2.2.1對接口的污染
2.3開放-封閉原則:(OCP)
一個模塊在擴展性方面應(yīng)該是開放的而在更改性方面應(yīng)該是封閉的己莺。
2.4替換原則:(LSP)(看得不是很懂)
2.5依賴倒置原則(看得不是很懂)
四奏甫,PHP網(wǎng)絡(luò)技術(shù) 與應(yīng)用
HTTP ?超文本傳輸協(xié)議 ?Hyper ?Text Transfer Protocol
4.1工作原理:
參數(shù)解析: method ? 請求方法
request url 請求地址
HTTP ?Version :請求的HTTP協(xié)議版本
2.響應(yīng) ? ?狀態(tài)行 ?消息報頭 ? 響應(yīng)正文
響應(yīng)狀態(tài)
3.應(yīng)用實例:模擬灌水機器人
遵循HTTP協(xié)議和服務(wù)器進行交互凌受,實現(xiàn)一個簡單的瀏覽器阵子;
4.進程通信的相關(guān)觀念
4.1端口(protocol ?port) ?用于標(biāo)識通信的進程
網(wǎng)絡(luò)中可以被命名和尋址的通信端口,是操作系統(tǒng)可分配的一種資源胜蛉;
端口號小于256 定義為常用端口
FTP 常用端口 21號 ? HTTP 80端口 ?SMTP ?25端口
兩個進程間的通信鏈路稱為連接挠进;
五,SESSION誊册;