類中成員分為3大類:屬性:方法:常量:
詳細一點,就又分為:
屬性:
普通屬性;//一般屬性,實例屬性
靜態屬性;
方法:
普通方法;//一般方法,實例方法
靜態方法;
構造方法;
析構方法;
常量:
類常量,在類中定義一個常量就稱為類常量,本質還是常量
定義形式:class 類名{ const 常量名=常量值; //不可以使用define()來定義!}
使用形式: 常量的使用,是通過類名,并使用范圍解析符(::)來取用的; 類名::常量名;
普通屬性(實例屬性)
實例也叫對象,使用形式$對象->屬性名;
靜態屬性
一個類中的一個靜態屬性,就只有“一份數據”;但:一個類中的一個實例屬性,就可以有“多份數據”——每創建一個對象出來,就會有一份數據;
使用: 使用類名和范圍解析符(::)來對靜態屬性進行操作:
類名::$靜態屬性名;//注意:屬性名帶$符號
對比1:常量的使用:類名::常量名;
對比2:實例屬性的使用:對象名->實例屬性名; //注意:屬性名不帶$符號
實例屬性,是每個對象都可以不一樣的數據,也是每個對象都“獨自擁有”的數據;
靜態屬性,他不屬于任何一個對象,而只屬于該類本身,也可以理解為為所有對象所共有的數據
普通方法(實例方法)
調用形式:$對象名->方法名(實參1,實參2,....);
靜態方法
調用形式: 類名::方法名(實參1,實參2,....);
類常量
定義類常量的時候,前面不能有任何的訪問控制修飾符,也不受訪問控制的限制!只要能找到類,就能訪問該類常量!
析構方法
\_\_destruct();對象被“銷毀”的時候會自動被調用的方法——我們無法調用它.不能帶參數(形參),但方法中也可以使用$this這個詞,代表”當前對象”;
對象在哪些情況不會被銷毀
1,如果程序結束,所有變量都會被銷毀,自然,變量所代表的對象也會被銷毀;
對象銷毀的順序,默認情況下,跟其創建的順序相反; $o1=new c(‘a’); $o2=new c(‘b’); $o3new c(‘c’); var\_dump($o1,o2,o3); //c被銷毀 b被銷毀 a被銷毀
2,當一個對象沒有任何變量“指向”它的時候,即使程序還沒有結束,也會被銷毀
$o1=new c(‘a’); $o1=$o2; unset($o1); //$o2沒有被銷毀,如下圖

如果$o1=new c(‘a’); $o1=&$o2; unset($o1); //$o2沒有被銷毀,如下圖

最后一個情況:$o4=new c1(‘d’); $o41=&$o4; $o4=44 unset($o4); //這2個對象被銷毀嗎?見下圖:會都被銷毀
開始,其原理為:

賦值之后($o4 = 44),其結果及原理為:

parent關鍵字
代表父類, 本質上就是代表父類這個“類”,而不是父類的“對象”;
使用: parent::屬性或方法;//通常是靜態屬性或靜態方法,但有時候可能是實例屬性或實例方法;
對比相關的詞:
關鍵字
含義
使用位置:
使用示例
parent:
代表父類(這個類)
肯定在一個方法中
parent::屬性或方法;
self:
代表當前其所在的類
肯定在一個方法中
self::靜態屬性或方法;
$this:
代表調用當前方法的對象
肯定在一個方法中
$this->實例屬性或方法;
- PHP
- 頁面跳轉
- 數據類型和運算符
- 整形
- 浮點型
- 字符串型
- 布爾型
- 判斷數據類型
- 傳值
- 類型轉換
- 常量
- 進制轉換
- 運算符
- 各種結構
- 數組
- 分類
- 創建
- 多維數組
- 數組操作函數
- 數組指針
- 排序
- 數組交換需要注意的
- 函數
- 創建函數
- 參數傳遞
- 參數數量問題
- 返回值
- 可變函數
- 匿名函數
- 冒泡,選擇,二分
- 變量的作用域
- 局部作用域中使用全局
- use
- 有關函數的系統函數
- 遞歸
- 遞推(迭代)
- 面向對象
- 類和對象
- 值傳遞
- 引用傳遞
- 成員
- 構造和析構調用上級同類方法
- 重寫
- 最終類
- 最終方法
- 設計模式
- 抽象類
- 抽象方法
- 抽象類和抽象方法的細節
- 重載
- 接口
- 類和接口的總結
- 自動加載
- 克隆
- 對象的遍歷
- 內置標準類
- 其他類型轉對象類型
- 類型約束
- 魔術方法
- static關鍵字
- 命名空間
- 子級空間
- 引入機制
- 公共空間
- 使用注意
- 錯誤處理
- 錯誤的觸發
- 錯誤報告的顯示
- 錯誤日志的記錄問題
- 自定義錯誤處理器
- 異常拋出
- 文件鎖
- 文件處理
- 序列化與反序列化
- 目錄操作
- 文件操作
- 文件上傳
- $_FILFS
- 多文件上傳處理
- 繪圖技術
- 創建畫布資源
- 操作畫布
- 導出
- 銷毀資源
- 驗證碼
- 補充文件居中
- 在圖像上寫入一行TTF字體的文本
- 獲得圖像相關信息
- 水印
- 等比例縮放
- 常見錯誤
- HTTP協議
- URL的構成
- 請求
- 防盜鏈
- 響應
- 使用header()禁用緩存
- 下載文件的HTTP響應頭
- 文件下載
- HTTPS
- 會話技術
- cookie
- session
- PHP操作MySQL函數
- 登錄
- 一些函數
- 從結果集中取出一行數據
- 獲取行數,列數,字段名
- 安全
- 緩存
- 補充
- MySQL
- 語法
- 備份和恢復
- 注釋
- 語句行
- 字符集
- 校驗級
- 存儲引擎
- 數據庫操作
- 創建數據庫
- 刪除數據庫
- 顯示數據庫
- 修改數據庫
- 數據類型
- 整數類型
- 小數類型
- 日期時間型
- 字符和文本型
- enum類型
- set類型
- 時間類型
- 表操作
- 創建
- 索引
- 約束
- 表選項列表
- 表的其他語句
- 視圖語法
- 增刪改查
- 插入數據(增)
- 刪除數據(刪)
- 修改數據(改)
- 查詢(查)
- 用戶和權限管理
- 用戶管理
- 權限管理
- PDO
- 與PDO相關的幾個類
- 連接數據庫
- 使用
- PDO的錯誤處理
- PDO結果集對象
- pdo結果集對象的常用方法
- PDO預處理
- 常用屬性
- mysql編程
- 事務
- 語句塊
- mysql中的變量
- (存儲)函數
- 存儲過程procedure
- 觸發器(trigger)
- mysql優化
- 存儲引擎
- 字段類型
- 逆范式
- 索引
- Memcache
- 與redis區別
- 安裝
- php開啟擴展
- php操作memcache
- Key的命名
- 有效期
- 各種數據類型存儲
- 刪除
- 第三個參數壓縮作用
- 其他相關操作方法
- 終端命令操作方式
- 獲取memcache統計信息
- Git
- 創建一個git倉庫
- 添加
- 修改文件
- 刪除文件
- 克隆
- 個人網站
- Ajax
- 發起請求
- 接受響應
- 常用屬性和方法
- get和post
- get
- post
- 同步和異步
- 什么時候使用同步請求?
- 分頁
- xml的接收和處理
- JSON
- 無刷新表單提交和進度條
- JQuery操作ajax
- iframe
- 郵件
- 介紹
- 發送郵件
- 直投郵件
- 中轉郵件發送
- phpmailer
- 正則表達
- 簡單使用
- preg_match()
- 正則內容
- 定義字符集
- 特別字符集
- 組合字符集
- 限制字符
- 模式修正符
- 進行全局匹配