文档章节

php之面向对象

z
 zjnn
发布于 2017/04/06 17:20
字数 477
阅读 2
收藏 0

构造方法:public function __construct(){}//new对象时自动触发
析构方法:public function __destruct(){}//对象销毁时自动触发
函数封装:protected function name(){}//在外界不能直接访问
继承:extends
final:被final修饰的类不能被继承
三种权限修饰:public ,protected,private
静态属性和静态方法:可以直接被类名调用,使用static进行修饰,调用方法:$duixiang 类名::属性/方法
全局常量:define('NAME','value');
类常量:只在类内部有效的常量    语法:const NAME = value; 调用方法:与静态属性和方法的调用方法相同;

<?php
//单例设计模式:只能new一个对象
class Single{
	public $rands;
	public static $lis = null;
	final public function __construct(){
		$this->rands = mt_rand(10000,9999999);
	}
	public static function Getlis(){ 
		if(Single::$lis === null){
			Single::$lis = new Single();
		}
		return Single::$lis;
	}
}
var_dump(Single::Getlis());
var_dump(Single::Getlis());
?>

本类:self

父类:parent

本类对象:$this

 

魔术方法:

        __construct,__destruct,__set,__get,__isset,__unset

魔术方法的本质意义在于开发者和调用者对类的控制权

////???????????????????? ????????????????????
??
class Foo {
}
$foo = new Foo();
$foo->age = 9;
print_r($foo); // Foo Object ( [age] => 9 )
/////////////////////////////
class Bar {
public function __set($per , $value) {
echo '想要设置' , $per,'为' , $value , '<br />';
echo '但是没有这个属性<br />';
}
}
$bar = new Bar();
$bar->age = 9;
print_r($bar); // Bar Object ( )

自动加载:

<?php
function myLoad($class){
	include './'.$class.'.php';
}
spl_autoload_register('myLoad');
new mysql();
?>

抽象类:

在类前加修饰符 abstract

在抽象方法前加修饰符 abstract

抽象方法没有方法体

也可以有已经实现的方法,但只要有一个方法是抽象的,则这个类仍是抽象的

抽象类不能实例化,只能够被继承

接口:

接口里的方法只能是public的

接口使用interface来修饰

一个类可以同时实现多个接口,class a implements b,c,d{}

异常:

throw new Exception('',);

str{}catch(Exception $e){};

命名空间:

namespace name;//写在页面第一行,namespace声明后,其后的类,函数,都被封锁在命名空间内

© 著作权归作者所有

共有 人打赏支持
z
粉丝 0
博文 24
码字总数 15955
作品 0
淮南
程序员
私信 提问
《详解PHP面向对象》系列技术文章整理收藏

《详解PHP面向对象》系列技术文章整理收藏 1PHP面向对象之旅:类和对象 http://www.lai18.com/content/425094.html 2PHP面向对象之旅:类的属性 http://www.lai18.com/content/425093.html 3...

开元中国2015
2015/06/27
66
0
PHP视频教程搜集整理分享【www.eaglephp.com】

1、PHP视频教程 (第一讲) PHP环境搭配和代码调试 2、PHP视频教程 (第二讲) PHP的数据类型 源码调试 3、PHP视频教程 (第三讲) 常用PHP运算类型介绍与应用 4、PHP视频教程 (第四讲) PHP条件语句...

maoxiaojian
2013/02/28
470
5
1. 设计模式初步

设计模式 武功和编程 面向对象编程是一种武功的话,设计模型就是武功中的每一招每一式,熟练的使用每一招每一式就可以设计出很好的框架,做出很好的东西。 课程内容 1. php面向对象编程的高级...

金于虎
2016/11/15
2
0
Savant

Savant是一个强大但轻量级的面向对象PHP模板引擎。不象其模板系统,Savant默认没有把模板编译成PHP,而是使用PHP本身来作为它的模板 语言所以你不需要学习一套新的标记系统。Savant有一个面向...

匿名
2008/09/14
1K
0
关于php语言

1 首先,php语言是一门动态语言,弱类型,解释执行; 2 其次,说说php的语法,他的语法跟c++的类似,与其他脚本语言ruby/python有区别,区别只不过是语法糖多或少的问题; 3 然后,说说编程思想...

shigebeyond
2014/07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
5
0
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
2
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
3
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
3
0
SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部