命名空间:

php中命名空间:解决自己编写的代码和php内置及第三方的函数、常量、类命名冲突问题(在不同的命名空间可以定义相同名称的常量、类、函数);及为繁琐的命名创建一个别名,具体如下:

  //1.简单定义命名空间:namespace mydemo;//定义命名空间使用关键字namespaceecho '要执行的代码';//2.上面方式可以在一个文件中定义多个命名空间,但是不推荐,推荐如下方式:namespace mydemo1{echo '要执行的代码块1';};namespace mydemo2{echo '要执行的代码块2';};//3.有的时候需要将全局的非命名空间的代码和命名空间的代码结合使用,此时只需要将全局非命名空间中的代码放入namespace{}大括号中,注意:此时没有命名名称,如:namespace mytest{echo '要执行的代码'};namespace{echo '全局非命名空间的代码'};//4.注意:在命名空间之前不能出现非php代码,包括空白符等,但是用于声明文件编码方式的declare可以,如:declare(encoding='UTF-8');namespase mydemo;//5.子命名空间:和文件的目录相似,php允许命名空间名称层次化,如:namespace mydemo\test;$str = 'hello';//此时字符串访问方式:\mydemo\test\$str;

命名空间的使用:

 //1.访问其他命名空间的变量、类、函数:若要访问其他命名空间变量、类、函数,那么就要在名称前面加路径,如:namespace myspace1;$num = 2;class car {function run(){echo '车子跑'}};function f1(){echo '这是f1函数'};namespace myspace2;echo \myspace1\$num;//在myspace2中访问myspace1中的变量、类、函数,注意前面也要给斜杠var_dump(new \myspace1\car());\myspace1\f1();//2.定义子命名空间:命名空间类似文件夹目录,可以在一个名空间中定义子命名空间,语法是在命名空间名称前面加父级路径,如:namespace fatherspace;$num = 2;namespace fatherspace\sonspace;//此时在fatherspace命名空间下面定义了一个sonspace命名空间,当然这里可以定义多个子命名空间,也可以定义多层$num = 3;//3.公共空间中的变量、类、函数:指没有在命名空间内定义的变量、类、函数,公共空间中定义的变量、类、函数可以直接在命名空间中使用,但是使用时要加\表示在根目录下;使用完依然是公共空间的,如:$num = 3;namespace myselfspace;echo \$num;//4.给命名空间定义别名:php中使用use关键字定义别名,如:use mydemo\f1 as fn;//当别名为最后一个层级时,可以省略as及别名,如:use mydemo\classname等同于:use mydemo\classname as classname;

面向对象:

对象是一个信息或对信息进行处理的描述所组成的整体,是对现实世界的抽象,生活中万物皆对象。

面向对象内容:

  //1.类:定义一件事物的抽象特点,包含数据的形式及对数据的操作,类的定义如下:class Car{var $car1;var $car2 = '五菱';function run(){echo '跑';};};//2.对象:是类的实例,在类被创建后,通过new关键字来实例化一个对象,如:$boama = new Car;//可以通过new关键字使用同一个类创建多个对象。//3.成员变量:定义在类里面的变量,该值对外是不可见的,但可以通过成员函数访问,当类被实例化后该变量称对象属性。class Car{var $car1;//成员变量function run(){echo '跑';};}//4.成员函数:定义在类里面可以访问对象的数据。class Car{var $car1;function run(){echo '跑';};//成员函数}//5.继承:子类共享父类数据结构和方法的机制。class mycar extends Car {};//php使用关键字extends继承一个类,php不支持多继承。//6.父类:一个类被其他类继承后可称为父类,别名基类,超类。//7.子类:继承了其它类的类称为子类,别名派生类。//8.多态:多态指相同的函数或方法作用于多种类型的对象上获得不同的结果这一现象。//9.重载:同名不同参数的函数或方法之间互相称重载。//10.抽象性:将有一致属性和行为的对象抽象成类。//11.封装:将现实中某个客体的属性和行为捆绑在一起,并放置在一个逻辑单元中。//12.构造函数:用于创建对象时初始化对象(变量赋值的过程),总与new 一起使用。//13.析构函数:对象结束生命周期后,析构函数中使用delete释放内存空间,和构造函数相反。class Car {function __construct() {//类中的构造函数通过__construct声明,$this指这个类->可以理解为的,和js中冒号 :差不多$this->name = "baoma";}function __destruct() {//类中解析函数通过__destruct声明,在解析函数中写入属性或方法对属性或方法进行销毁。print "销毁 " . $this->name . "\n";}}

访问控制:

php对属性或方法的控制是通过前面添加关键字控制:public公有、protected受保护、private私有,如:

 class Car{private var $car2 = 'baoma';public function run(){echo '跑';};}

接口:

用来实现某些方法而无需定义具体方法,使用关键字interface定义接口,接口中的所有方法都是公有的,要实现一个接口使用implements操作符,如:

 interface temapi{//定义一个接口public function setnames($name);};class dog implements temapi{public function setnames($name){$this->vars[$name]= 'xiaohei';};};

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

php中命名空间、面向对象、访问控制、接口相关推荐

  1. java饲养员喂动物_做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处...

    做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处 interface Animal{ //动物的接口    public void eat(Food food); // ...

  2. java饲养员喂动物_体现JAVA中的面向对象思想,接口(抽象类)的用处 :饲养员给动物喂食物 | 学步园...

    package com.softeem.demo; /** *@authorleno *动物的接口*/ interface Animal { publicvoid eat(Food food); } ...

  3. java饲养员喂动物_体现JAVA中的面向对象思想,接口(抽象类)的用处 :饲养员给动物喂食物...

    package com.softeem.demo; /** *@authorleno *动物的接口*/ interface Animal { publicvoid eat(Food food); } ...

  4. PHP中的面向对象思想

    <?phpheader("Content-Type: text/html; charset=gb2312"); class person{/*** 成员属性* 在类中声明成员 ...

  5. 一篇文章让你认识PHP中的面向对象思想

    在面向对象的世界里,对象是一切的主语 关于理解都写在了注释中 <?phpheader("Content-Type: text/html; charset=gb2312"); ...

  6. php中命名空间和use

    php中命名空间和use 总结 php中的namespace就有点像java中package包的概念 php中的use的概念就是用别人的命名空间中的类 php中的include enquire是引入文 ...

  7. JS中的面向对象编程

    JS中的面向对象编程 小课堂 目录 1.背景介绍 2.知识剖析 3.常见问题 4.解决方案 5.编码实战 6.扩展思考 7.参考文献 8.更多讨论 1.背景介绍 什么是对象? ECMA-262把对象定 ...

  8. 深入理解Java中的抽象类和接口

    对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用, ...

  9. php 类定义抽象方法吗,PHP面向对象:接口与抽象方法

    简明现代魔法 -> PHP服务器脚本 -> PHP面向对象:接口与抽象方法 PHP面向对象:接口与抽象方法 2010-07-01 接口(interface)是抽象方法和静态常量定义的集合. ...

最新文章

  1. Codeforces Round #300 A. Cutting Banner 水题
  2. 【BZOJ 4555】[Tjoi2016Heoi2016]求和 多项式求逆/NTT+第二类斯特林数
  3. Blocks与Dispatch Queue的使用
  4. 禅道 Rest API 开发
  5. python sklearn 绘制决策树模型的节点图
  6. web开发人员必备的提高开发水平的20个参考手册
  7. ValueError: operands could not be broadcast together with shapes (3000,20) (20,20)
  8. 欧姆龙 Cx-one卸载软件
  9. 码神-day8-java
  10. 实践篇·让你的图片特别起来—自定义像素化
  11. OracleConnection.ConnectionString
  12. WORD设置标题格式
  13. JVM异常不打印堆栈信息 [ -XX:-OmitStackTraceInFastThrow ]
  14. 通过率低推广费昂贵 - 中国苹果开发者掘金难
  15. 新版H5盲盒商城系统源码(前端uniapp后端thinkphp)+详细安装教程+数据库
  16. Linux系统网络管理1
  17. ios定位权限plist_iOS定位权限问题易犯的错误小结
  18. 空间分辨率 密度分辨率 时间分辨率
  19. Flowable全局监听器-待办消息提醒
  20. SAS 导入excel

热门文章

  1. java httppost wsdl_Java使用HttpUrlConnection调用webService(wsdl)
  2. 自定义你的VSCode:主题、文件图标、快捷键、设置、schema、插件
  3. php sslv3握手失败,Boost Beast握手:sslv3警报握手失败错误
  4. C++随机数(rand和srand)函数用法详解
  5. 白盒测试 | 用例设计方法之条件覆盖
  6. 利用可视化软件navicat对mysql进行语句查询的使用(增删改查)
  7. uni-app和php交互DES加密解密数据
  8. 【MySQL】JavaWeb项目中配置数据库的连接池
  9. U66785 行列式求值
  10. 数据分析师免费课程网址