有一些成熟的PHP系统,第一次访问时都需要执行install.php,就是执行建库、建表、插入初始记录的功能。比如,phpwind、帝国、织梦、ECSHOP等。
比如
PHPCMS,Content Managerment System,内容管理系统。
OOP :Oriant Object Programming,面向对象编程。它是一种编程思想,没有固定的格式,目的使开发软件 安全、稳定、高效、可扩展性强 等优势。特征是 封装、继承、 多态 。
在PHP中引入OOP刚开始就是解决不同的文件中同名函数的问题。
1、面向对象的载体是 类 (class)。指具有共同特征事物的统称,是群体范围性的概念。比如人类。语法:
Class 类名{
//类的组成部分
}
2、类成员:
1)字段;简单来说就是变量前加private(私有)
2)属性;字段外部对象无法访问,通过属性封装可以赋值和取值。只写属性,只有赋值没有取值;只读属性,只能获取,没有写入。
3)函数。
3、类的 实例化 对象:
类是一个群体范围性的概念,无法直接使用,要想使用,必须具体到其中的一个个体。这个过程称为的类的实例化,这个个体称为类的对象。语法
$变量=new 类名();
实例源码:
定义People类
class People{
public $name;//姓名
public $age;//年龄
/*
Describe:人类都有的说话功能(函数)
*/
function Say(){
echo ‘哈哈’;
}
}
?>
调用
include_once(‘People.php’);//引入
//使用类必须要先实例化,通过实例化对象去操作
$p1=new People();//实例化一个p1对象
$p1->Say();//p1对象调用函数
$p2=new People();//实例化一个p2对象
$p2->Say();//p2对象调用函数
-> 读作of,…的。
理解类成员,修改类代码
class People{
public $name;//姓名
public $age;//年龄
/*
Describe:人类都有的说话功能(函数)
*/
function Say(){
echo $this->name.’说:哈哈’;//$this在类的本身中代表该类的本身对象,访问自己的组成部分。
}
}
?>
调用
include_once(‘People.php’);//引入
//使用类必须要先实例化,通过实例化对象去操作
$p1=new People();
$p1->name=’张三’;
$p1->Say();
$p2=new People();
$p2->name=’李四’;
$p2->Say();
?>
4、类成员访问修饰符
1)public 公共,内部和外部对象都可以访问;
2)Protected保护,外部对象无法访问,本身对象、子类中都可以访问;
3)Private 私有,只能本类中访问。
示例封装类代码
class People{
private $name;//姓名,私有字段不允许外部对象访问
private $age;//年龄
//对字段进行封装,属性,赋值
function setName($value){
$this->name=$value;
}
//对象字段封装成属性,取值
function getName(){
return $this->name;
}
//封装年龄属性
function setAge($value){
$this->age=$value;
}
function getAge(){
return $this->age;
}
/*
Describe:人类都有的说话功能(函数)
*/
function Say(){
echo $this->name.’说:哈哈’;
}
}
?>
调用
include_once(‘People.php’);//引入
//使用类必须要先实例化,通过实例化对象去操作
$p1=new People();
$p1->setName(‘张三’);//属性赋值
$p1->Say();
$p2=new People();
$p2->setName(‘李四’);//属性赋值
$p2->Say();
?>
5、 构造函数 :
构造就是类实例化对象的函数。构造函数与类同名,没有返回值。实例化时自动调用,默认有一个无参没有任何处理的构造函数。
6、魔术函数:
在PHP中__开头的并且系统定义好的函数称为魔术函数。
__construct 构造函数
__autoLoad 自动装载函数,自动加载类等到实例化的时候自动去装载类文件。不会一开始就加载,效率高,但是要求文件名和类名必须一致!!!
7、install.php页面具体开发:
思路:
定义好需要处理的 SQL 语句
1)以上SQL语句切割循环调用数据库操作类来执行
2)每条SQL语句执行成功与否给出提示,只要有一条错误给出错误提示,终止执行。
8、 序列化 与反序列化:
Serialize
Unserialize
9、多态:
一个的函数方法有着不同的实现。
方法重载
方法覆盖
方法重写
方法实现
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~