php使用封装,PHP 类的封装和使用

类:相似的数据和数据操作的封装  class

成员量:普通的量加上一定的修饰就变成了成员量 public,protected,private

成员方法:普通的函数,加上一定的修饰,放入到类中就变成了成员方法.

实例化:类创建特例的过程(实例化一个对象 new)

对象: 类的特例或者实例   object

认识类 -> 类的封装 -> 类的实例化 -> 对象的认识 -> 操作对象

------------------------------------------------------------------------------------------------------

类的使用步骤:

1)创建类  class

语法格式:

class 类名{

类的实现:

成员量

成员方法

}

类名规范:

1) 类名只能使用字母,下划线开头,不能以数字开头

2) 类名不能使用关键字

3) 类名一定有意义

4) 类名不区分大小写,但是最好使用驼峰法的写法

userModel       UserModel

5)类名不能重复

6) Class Connect{ } 空类,空函数么有意义,空类是为了项目后期扩展预留的接口

实例化类(instance):

对象变量 = new 类名;

或者  对象变量 = new 类名();

对象变量:  普通的变量,只不过他的类型是对象类型

$object = new myClass;/new myClass();

类的使用

is_object():判断某个变量是否是对象;

instanceof:判断对象是否是某个类的实例化

136843998_1_20180626085923798.gif

//类使用步骤

class MyClass{

}

$obj = new MyClass;

if(Class_exists("MyClass")){

if(is_object($obj))

echo "obj is object";

else

echo "obj isnot object";

}else{

echo "myclass isnot exists";

}

?>

136843998_1_20180626085923798.gif

对象的实例化过程中,类名不区分大小写,后面可以有小括号也可省略,但是一定要注意,声明类的时候是没有小括号的(区别于函数)

成员变量:

普通的变量放入到类中就变成了成员量(类的属性)

格式:

修饰符 变量名[=值];

变量定义格式:

修饰符 变量;

变量的赋值

修饰符 变量名 = 值;

修饰符:  public : 公有的,在类内可以使用,在类外也可以使用,等价于 JS 的 var

Public $height = 100;

类外的使用:

1) 对象名 -> 变量名(无$)

类内调用

2) $this -> 变量名(无$) 伪变量

$this :对象本身

3) 对于某个对象的操作,对于另外的对象没有任何影响,也就是所谓的对象无关性

成员方法:

普通的函数放入到的类中就变成了成员方法

格式:

修饰符 function 方法名(参数){

返回值

}

136843998_1_20180626085923798.gif

//类使用步骤

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; //105

?>

136843998_1_20180626085923798.gif

类外使用:

对象 -> 方法名(实参列表);

类内使用

$this -> 方法名(实参列表);

$this:

伪变量

代表的是当前操作该类的对象。

类内使用成员变量和成员方法:

$this -> 变量名(无$)

$this -> 方法名(参数);

136843998_1_20180626085923798.gif

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";

?>

136843998_1_20180626085923798.gif

类常量:

类中恒定不变的量

格式:

Const 大写的常量名 = 值;

Eg:

Const HOST = “localhost”;

类外调用:

类名 :: 常量名

类内的调用: self (指本类)

Self::常量名

NOTE:

1、::叫做作用域操作符

2、常量在声明的时候必须赋值!

3、声明常量的过程中,不需要其他的修饰符

136843998_1_20180626085923798.gif

class Myclass{

const HOST = "localhost";

const USER = "root";

public function show(){

echo Myclass::HOST;

echo self::USER;

}

}

echo Myclass::HOST.Myclass::USER;

$obj = new MyClass;

echo "


";

$obj -> show();

?>

136843998_1_20180626085923798.gif

类的封装:

数据库操作类

1、定义类名和类功能

2、类名:MySql

3、功能:编程语言操作mysql数据库

分析成员量:

1、服务器名: $host

2、数据库名: $dbname

3、用户名:   $user

4、密码:     $pwd

5、链接编码: $code = “utf8”

6、数据库链接  $link

7、数据库返回的二维数组  $data = array();

8、记录集 $result

分析方法:

1、添加

2、删除

3、修改

4、查询

5、数据库链接   _connect(){ 成功返回true }

6、编码设置

7、将记录集转换为二维数组

8、将记录集中的第一条转换为一维数组。

136843998_1_20180626085923798.gif

//功能:数据库操作类

class MySql{

const HOST = "localhost";

const DBNAME = "thinkshop";

const USER = "root";

const PWD = "";

public $code = "utf8";

public $link = null;

public $data = array();

public $result = null;

//数据库链接方法

public function _connect(){

if(self::HOST != "" && self::USER != ""){

$this -> link = mysql_connect(self::HOST,self::USER,self::PWD);

if(is_resource($this -> link)){

$db = mysql_select_db(self::DBNAME,$this -> link);

if($db){

$this -> setCode();

return true;

}else{

return false;

}

}else{

return false;

}

}else{

return false;

}

}

//设置编码

public function setCode($code = ""){

if($code != "")

$this -> code = $code;

mysql_query("set names ".$this -> code);

}

}

$db = new MySql;

if($db -> _connect()) echo "connect ok";

else echo "connect error";

echo mysql_error();

?>

136843998_1_20180626085923798.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值