面向对象
======
代码健壮和复用,面向对象的编程方法
面向过程 VS 面向对象
什么是类
--
类是具有相同属性和服务的一组对象的集合比如说人,书,轮船,车都属于类,他为属于该类的对象做了一个统一的抽象描述,在编程的语言中类是一个单独的程序,它应该有一个类名包括属性的说明和服务两个部分。
什么是对象
--
对象是系统中描述客观事件的一个实体,他是构成系统的一个基本单位。*数据与代码都被捆绑在一个实体当中*,一个对象由一组属性和对这组属性进行操作的一组行为组成。
class classname [可选属性]{
public $property [=value];… //用public声明一个公共标识 然后给予一个变量 变量也可以赋值
function functionname ( args ){ //类的方法里的成员函数
代码} …
//类的方法(成员函数)
}
生成对象(类的实例化): $对象名=new classname( );
构造函数是在类中起到初始化的作用
构造函数的生成方法与其他函数一样只是其名称必须是__construct().
语法格式:function __construct(参数){
。。。。。。。。
}
范例:
class Person{
public $name;
public $sex;
public $age;
function __construct($name,$sex,$age){
echo "我是构造函数<br>";
$this->name=$name;
$this->sex=$sex;
$this->age=$age;
}
访问类型
public 公共的(公共修饰符) 类内部与类外部都可以访问的
private 私有的(私有修饰符) 只能在类内部访问
protected 受保护的(保护成员修饰符) 子类可以访问 类外部不可以访问
oop的三个重要特性
封装,继承,多态
封装性:封装性就是把对象的属性和行为结合成一个独立的单位。
封装一个类需要两步 第一步是私有化一个类 第二步是用set和get 做出读取赋值的操作
他的好处是:隐藏类的实现细节,可以方便加入逻辑控制性,限制对属性的不合理操作,便于修改增强代码的可维护性。
__get与__set
一般说把类私有话更符合现实的逻辑。
预定义两种函数来进行获取与敷值操作。
__get 获取值通常是域的值
__set 设置值通常是域的值
__call 调用一个对象中不存在的方法时,就会产生错误call()这个方法来处理这种情况。
静态属性和方法
static关键字 来声明静态方法
static静态变量 在类的内部生成一个静态变量 就是能够被所有类的实力化共想 也就是说静态成员则放到了“初始化静态段”,在类第一次被加载的时候放入的,可以让堆内存里面的每个对象所共享
使用方法:self::$静态属性、self::静态方法
static function p(){
echo self::$country;
echo self::PI;//访问常量
//echo $this->name;在静态方法中只能操作静态属性
//self::p();
}
外部调用:类::$静态属性、类::静态方法
const关键字:用来生成常量 常量是唯一的不能改变的 惯例常量为大写
const CONSTANT = 'constant value'; 生成一个常量
echo self::CONSTANT;//类内部访问
echo ClassName::CONSTANT;//类外部访问
- 目录
- 第一章:PHP简介、开发环境、基本语法
- 0.0 各类操作系统下环境配置
- 1.0 基本语法和控制符
- 1.1 变量常量
- 1.1.1 显示数据Echo、Var_dump
- 1.1.2 数据类型
- 1.2 判断逻辑(if、switch)
- 1.3 循环逻辑(for、while)
- 1.4 数组
- 1.4.1 Foreach循环
- 1.4.2 数组操作
- 1.5 函数
- 1.5.5 编码规范PSR
- 1.6 魔术变量
- 1.7 超全局变量
- 1.8 时间日期
- 1.9 字符串操作
- 1.10 开发/部署环境配置
- 1.11 PECL 、 Yaf 、 Swoole
- 第二章:PHP+数据库
- 2.0 SQL入门
- 2.1 PDO连接、操作数据库
- 2.2 PDO的CURD操作
- 2.3 预处理
- 2.4 SQLite轻量级数据库
- 2.5 NoSQL数据库
- 2.6 缓存 、主从复制、集群 、负载均衡
- _连接 + 管理数据库(过期)
- _增删查改CURD操作(过期)
- 第三章:PHP面向对象 + 常用功能
- 5.1 面向对象入门
- 5.2 面向对象特性
- 5.3 文件上传
- 5.4 富文本编辑
- 5.6 MVC框架模式
- 5.7 文件读取函数
- 5.8 URL相关
- 5.9 Serialize序列化
- 第四章:Cookie+Session+用户模块
- 4.1 Cookie
- 4.2 Session
- 4.3 用户中心
- 4.4 SSO单点登录
- 4.5 类 C S 架构REST和Oauth用户中心
- 第五章:Linux基础+Git入门+远程部署
- 3.1 Linux基础
- 3.2 Git使用
- 3.3 远程部署
- 第六章:PHP框架
- 第七章:PHP安全和测试
- 第八章:包管理工具+PSR代码规范
- PHP社区代码规范 PSR
- 第九章:PHP测试 + PHP调试
- 第十章:性能优化+网站架构+第三方服务
- 10.1 云计算和网站架构
- 第十一章:PHP拓展
- 拓展:十二章 PHP爬虫
- 拓展:十三章 CMS实战
- 拓展:十四章 微信公众号开发
- 拓展:第十五章 注释、API文档、IDE自动提示
- 拓展:第十六章 API开发
- 附录:参考资料
- 附录:实用在线工具
- 实用技巧和常用函数
- Linux下WDCP主机面板配置
- 使用Git部署到MoPass云
- Curl内网访问封装函数
- 附录:开源组件参考