面向對象
======
代碼健壯和復用,面向對象的編程方法
面向過程 VS 面向對象
什么是類
--
類是具有相同屬性和服務的一組對象的集合比如說人,書,輪船,車都屬于類,他為屬于該類的對象做了一個統一的抽象描述,在編程的語言中類是一個單獨的程序,它應該有一個類名包括屬性的說明和服務兩個部分。
什么是對象
--
對象是系統中描述客觀事件的一個實體,他是構成系統的一個基本單位。*數據與代碼都被捆綁在一個實體當中*,一個對象由一組屬性和對這組屬性進行操作的一組行為組成。
class classname [可選屬性]{
public $property [=value];… //用public聲明一個公共標識 然后給予一個變量 變量也可以賦值
function functionname ( args ){ //類的方法里的成員函數
代碼} …
//類的方法(成員函數)
}
生成對象(類的實例化): $對象名=new classname( );
構造函數是在類中起到初始化的作用
構造函數的生成方法與其他函數一樣只是其名稱必須是__construct().
語法格式:function __construct(參數){
。。。。。。。。
}
范例:
class Person{
public $name;
public $sex;
public $age;
function __construct($name,$sex,$age){
echo "我是構造函數<br>";
$this->name=$name;
$this->sex=$sex;
$this->age=$age;
}
訪問類型
public 公共的(公共修飾符) 類內部與類外部都可以訪問的
private 私有的(私有修飾符) 只能在類內部訪問
protected 受保護的(保護成員修飾符) 子類可以訪問 類外部不可以訪問
oop的三個重要特性
封裝,繼承,多態
封裝性:封裝性就是把對象的屬性和行為結合成一個獨立的單位。
封裝一個類需要兩步 第一步是私有化一個類 第二步是用set和get 做出讀取賦值的操作
他的好處是:隱藏類的實現細節,可以方便加入邏輯控制性,限制對屬性的不合理操作,便于修改增強代碼的可維護性。
__get與__set
一般說把類私有話更符合現實的邏輯。
預定義兩種函數來進行獲取與敷值操作。
__get 獲取值通常是域的值
__set 設置值通常是域的值
__call 調用一個對象中不存在的方法時,就會產生錯誤call()這個方法來處理這種情況。
靜態屬性和方法
static關鍵字 來聲明靜態方法
static靜態變量 在類的內部生成一個靜態變量 就是能夠被所有類的實力化共想 也就是說靜態成員則放到了“初始化靜態段”,在類第一次被加載的時候放入的,可以讓堆內存里面的每個對象所共享
使用方法:self::$靜態屬性、self::靜態方法
static function p(){
echo self::$country;
echo self::PI;//訪問常量
//echo $this->name;在靜態方法中只能操作靜態屬性
//self::p();
}
外部調用:類::$靜態屬性、類::靜態方法
const關鍵字:用來生成常量 常量是唯一的不能改變的 慣例常量為大寫
const CONSTANT = 'constant value'; 生成一個常量
echo self::CONSTANT;//類內部訪問
echo ClassName::CONSTANT;//類外部訪問
- 目錄
- 第一章:PHP簡介、開發環境、基本語法
- 0.0 各類操作系統下環境配置
- 1.0 基本語法和控制符
- 1.1 變量常量
- 1.1.1 顯示數據Echo、Var_dump
- 1.1.2 數據類型
- 1.2 判斷邏輯(if、switch)
- 1.3 循環邏輯(for、while)
- 1.4 數組
- 1.4.1 Foreach循環
- 1.4.2 數組操作
- 1.5 函數
- 1.5.5 編碼規范PSR
- 1.6 魔術變量
- 1.7 超全局變量
- 1.8 時間日期
- 1.9 字符串操作
- 1.10 開發/部署環境配置
- 1.11 PECL 、 Yaf 、 Swoole
- 第二章:PHP+數據庫
- 2.0 SQL入門
- 2.1 PDO連接、操作數據庫
- 2.2 PDO的CURD操作
- 2.3 預處理
- 2.4 SQLite輕量級數據庫
- 2.5 NoSQL數據庫
- 2.6 緩存 、主從復制、集群 、負載均衡
- _連接 + 管理數據庫(過期)
- _增刪查改CURD操作(過期)
- 第三章:PHP面向對象 + 常用功能
- 5.1 面向對象入門
- 5.2 面向對象特性
- 5.3 文件上傳
- 5.4 富文本編輯
- 5.6 MVC框架模式
- 5.7 文件讀取函數
- 5.8 URL相關
- 5.9 Serialize序列化
- 第四章:Cookie+Session+用戶模塊
- 4.1 Cookie
- 4.2 Session
- 4.3 用戶中心
- 4.4 SSO單點登錄
- 4.5 類 C S 架構REST和Oauth用戶中心
- 第五章:Linux基礎+Git入門+遠程部署
- 3.1 Linux基礎
- 3.2 Git使用
- 3.3 遠程部署
- 第六章:PHP框架
- 第七章:PHP安全和測試
- 第八章:包管理工具+PSR代碼規范
- PHP社區代碼規范 PSR
- 第九章:PHP測試 + PHP調試
- 第十章:性能優化+網站架構+第三方服務
- 10.1 云計算和網站架構
- 第十一章:PHP拓展
- 拓展:十二章 PHP爬蟲
- 拓展:十三章 CMS實戰
- 拓展:十四章 微信公眾號開發
- 拓展:第十五章 注釋、API文檔、IDE自動提示
- 拓展:第十六章 API開發
- 附錄:參考資料
- 附錄:實用在線工具
- 實用技巧和常用函數
- Linux下WDCP主機面板配置
- 使用Git部署到MoPass云
- Curl內網訪問封裝函數
- 附錄:開源組件參考