<?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();//类的封装:?>