<?php/** * Created by PhpStorm. * User: 63448 * Date: 2018/5/6 * Time: 9:44 *///類:類似的數據和數據操做的封裝 class// 成員量:普通的量加上必定的修飾就變成了成員量 public,protected,private// 成員方法:普通的函數,加上必定的修飾,放入到類中就變成了成員方法.// 實例化:類建立特例的過程(實例化一個對象 new)// 對象: 類的特例或者實例 object// 認識類 -> 類的封裝 -> 類的實例化 -> 對象的認識 -> 操做對象/** * 實例化類(instance): * 對象變量 = new 類名; * 或者 對象變量 = new 類名(); * 對象變量: 普通的變量,只不過他的類型是對象類型 * $object = new myClass;/new myClass(); */class MyClassss{}//聲明類的時候是沒有小括號的(區別於函數)$obj = new MyClassss;//類的實例化if(Class_exists("MyClassss")){ if(is_object($obj)) echo "obj is object";//is_object():判斷某個變量是不是對象; else echo "obj isnot object";}else{ echo "myclass isnot exists";}echo "<hr/>";/** *成員變量: 普通的變量放入到類中就變成了成員量(類的屬性) 格式:修飾符 變量名[=值]; 變量定義格式:修飾符 變量; 變量的賦值:修飾符 變量名 = 值; 修飾符: public : 公有的,在類內能夠使用,在類外也能夠使用,等價於 JS 的 var Public $height = 100; * 成員方法: 普通的函數放入到的類中就變成了成員方法 格式: 修飾符 function 方法名(參數){ 返回值 } */ // 類使用步驟 class MyClass{ public $age = 100; } $obj = new MyClass; echo $obj -> age ; // 100 $obj -> age = 105; // 105 echo $obj -> age;// // 對象操做的無關性 $obj1 = new MyClass(); echo $obj1 -> age; // 100 $obj1 -> age = 200; echo $obj1 -> age; // 200 echo $obj -> age; // 105echo "<br>----------------------------------------<br>";/** * 類外的使用:對象名 -> 變量名(無$)-- $obj -> checklogin() 類內調用:$this -> 變量名(無$) 僞變量-- $this -> tag僞變量: $this :對象自己 3) 對於某個對象的操做,對於另外的對象沒有任何影響,也就是所謂的對象無關性 */class UserModel{ public $user = "admin"; public $pwd = "123456"; public $tag = 0; // 用戶是否登陸的標示 // 傳入用戶登陸的數據 public function setUserPwd($u,$p){ $this -> login($u,$p); } // 用戶進行登陸操做 public function login($tmp_u,$tmp_p){ if(!$this -> tag){ if($this -> user == $tmp_u && $this -> pwd == $tmp_p) $this -> tag = 1; // 用戶是登陸狀態 } } // 判斷用戶是否登陸 public function checklogin(){ if($this -> tag == 1) return true; else return false; }}$obj = new UserModel;$obj -> setUserPwd("admin","123456");if($obj -> checklogin()) echo "login ok";else echo "login error";echo "<br>----------------------------------------<br>";/** * 一、::叫作做用域操做符 * 二、常量在聲明的時候必須賦值! * 三、聲明常量的過程當中,不須要其餘的修飾符 */class MyClasss{ const HOST="localhost";//類中恆定不變的量格式:Const 大寫的常量名 = 值; const USER="root"; public function show(){ echo MyClasss::HOST; echo self::USER;//類內的調用: self (指本類) Self::常量名 }}echo Myclasss::HOST.Myclasss::USER;//類外調用:類名 :: 常量名echo "<hr/>";$obj = new MyClasss;$obj -> show();//類的封裝:?>