PHP强制对象类型之instanceof操作符_PHP教程

PHP中文网
发布: 2016-07-13 17:32:32
原创
1066人浏览过

  一、简介

  在php(做为现在的主流开发语言)中实现强制对象类型有时可能非常重要。如果缺少了它,或是因为缺乏这方面的知识——基于不正确的编程假设,或者仅仅是由于懒惰,那么你会在特定的Web应用程序中看到你所不希望的结果。特别是当用php(做为现在的主流开发语言) 4进行编程时,使用"is_a()"函数(尽管还有其它方法)来验证你所使用的对象的类型是非常容易的事情。毫无疑问,强制对象类型还可以被用于过滤输入对象(需要被作为参数传递到同一个应用程序中的其它php(做为现在的主流开发语言)类)。

  不过,php(做为现在的主流开发语言) 4并没有暴露一些有关于它的对象模型的弱点-为了实现某些在成熟的面向对象的语言中出现的特征,它偶而可能要求编写另外的代码。长时间以来,这一事实已经为php(做为现在的主流开发语言)社区众所周知。然而,随着php(做为现在的主流开发语言) 5的发行,许多这些极有价值的特征作为改进的对象模型的一部分被添加到其中。它们将有助于更为紧密地实现基于对象的代码的开发-允许你使用特定的对象特征。

  在上面的情况下,当涉及到对象类型强制时应该特别注意。实际上,在一个Web应用程序的执行期间,php(做为现在的主流开发语言) 5提供给开发者至少两种方法来检查对象类型——它们分别是“instanceof”操作符和“类型提示”特征。现在转到本文的主题,我将介绍php(做为现在的主流开发语言) 5中"instanceof"操作符的使用;你很快就会发现,它可以非常方便地用来确定是否你正在使用的对象属于一个特定的类型。

  本文将通过一些面向对象的示例来帮助你理解如何在php(做为现在的主流开发语言) 5中实现强制对象类型。

立即学习PHP免费学习笔记(深入)”;

卡拉OK视频制作
卡拉OK视频制作

卡拉OK视频制作,在几分钟内制作出你的卡拉OK视频

卡拉OK视频制作 178
查看详情 卡拉OK视频制作

  二、 你不该做什么

  为了展示在php(做为现在的主流开发语言) 5中如何实现对象类型强制,我将使用(X)HTML widget类,还有一个简单的页面生成器类,并作了简单的修改以适合php(做为现在的主流开发语言) 5开发环境。

  我的第一个示例列举了一些派生自一个抽象的基类"HTMLElement"的(X)HTML widget类,它跳过了到它们的输入对象类型的检查。请先看下面的类:

//定义抽象类HTMLElement
abstract class HTMLElement{
 protected $attributes;
 protected function __construct($attributes){
  if(!is_array($attributes)){
   throw new Exception(Invalid attribute type);
  }
  $this->attributes=$attributes;
 }
 // 抽象的getHTML()方法
 abstract protected function getHTML();
}
//定义具体的类Div-扩展HTMLElement
class Div extends HTMLElement{
 private $output=<p ;
 private $data;
 public function __construct($attributes=array(),$data){
  parent::__construct($attributes);
  $this->data=$data;
 }
 //getHTML()方法的具体实现
登录后复制


http://www.bkjia.com/PHPjc/508681.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/508681.htmlTechArticle一、简介 在php (做为现在的主流开发语言) 中实现强制对象类型有时可能非常重要。如果缺少了它,或是因为缺乏这方面的知识——基于不...

 以上就是PHP强制对象类型之instanceof操作符_PHP教程的内容,更多相关内容请关注PHP中文网(www.php.cn)!


相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号