文档章节

php之面向对象

z
 zjnn
发布于 2017/04/06 17:20
字数 477
阅读 2
收藏 0
点赞 0
评论 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 ⋅ 0

PHP视频教程搜集整理分享【www.eaglephp.com】

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

maoxiaojian ⋅ 2013/02/28 ⋅ 5

PHP 面向对象:类和对象

从OOP的视角看,不应区分语言。无论是C++、无论是Java、无论是.net还有更多面向对象的语言,只要你了解了OO的真谛,便可以跨越语言,让你的思想轻松的跳跃。便没有对于Java、.net、PHP 之间谁...

BENNEE ⋅ 2011/03/22 ⋅ 0

1. 设计模式初步

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

金于虎 ⋅ 2016/11/15 ⋅ 0

PHP使用__autoload()自动加载未定义的类

稍微了解PHP发展历史的人都知道,PHP最初诞生的时候只支持面向过程化的编码方式,不过随着PHP在web开发领域越来越流行以及大型web站点建设的需要,从PHP 4开始,PHP也开始支持面向对象编程了...

nsns ⋅ 05/07 ⋅ 0

关于php语言

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

shigebeyond ⋅ 2014/07/05 ⋅ 0

PHP 面向对象实例:获取数据库用户数据

我们使用面向过程的方式和面向对象的方式分别写几个程序,理解面向对象编程带来的优势。 数据库使用mysql 数据库, 数据库结构和数据如下图所示。 先写一个数据库配置文件如下: db_config....

BENNEE ⋅ 2011/03/22 ⋅ 0

Savant

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

匿名 ⋅ 2008/09/14 ⋅ 0

PHP框架--Punny

Punny的本意为PHP Bunny。Bunny在英语中的意思是兔子。兔子又以敏捷、身体小而灵活而著称。所以Punny就以打造最简单易用的PHP MVC微型框架为己任,努力追求速度与代码的完美统一。 Punny简介...

匿名 ⋅ 2009/08/25 ⋅ 0

PHPer的等级划分

0 : 我对PHPer的定义: PHPer是工作/程序以编写PHP程序为主,其他方面略有涉猎的人.部分由C/C++ 转来的人,虽然也做php程序,但工作重点仍是C/C++.不能说是PHPer或者不能说是纯粹的PHPer. 1 : 对...

酸奶喝不完 ⋅ 2012/08/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 16分钟前 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 42分钟前 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

C++难点解析之const修饰符

C++难点解析之const修饰符 c++ 相比于其他编程语言,可能是最为难掌握,概念最为复杂的。结合自己平时的C++使用经验,这里将会列举出一些常见的难点并给出相应的解释。 const修饰符 const在c...

jackie8tao ⋅ 昨天 ⋅ 0

聊聊spring cloud netflix的HystrixCommands

序 本文主要研究一下spring cloud netflix的HystrixCommands。 maven <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-clo......

go4it ⋅ 昨天 ⋅ 0

Confluence 6 从其他备份中恢复数据

一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复。 如果你在恢复压缩的 XML 备份的时候遇到了问题,你还是可以对整个站点进行恢复的,如...

honeymose ⋅ 昨天 ⋅ 0

myeclipse10 快速搭建spring boot开发环境(入门)

1.创建一个maven的web项目 注意上面标红的部分记得选上 2.创建的maven目录结构,有缺失的目录可以自己建立目录补充 补充后 这时候一个maven的web项目创建完成 3.配置pom.xml配置文件 <proje...

小海bug ⋅ 昨天 ⋅ 0

nginx.conf

=========================================================================== nginx.conf =========================================================================== user nobody; #......

A__17 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部