PHP 对象接口简单实现方法示例


Posted in PHP onApril 13, 2020

本文实例讲述了PHP 对象接口简单实现方法。分享给大家供大家参考,具体如下:

对象接口 (interface)

使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。

接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。

接口中定义的所有方法都必须是公有,这是接口的特性。

实现(implements)

要实现一个接口,使用 implements 操作符。类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分隔多个接口的名称。

Note:

实现多个接口时,接口中的方法不能有重名。

Note:

接口也可以继承,通过使用 extends 操作符。

Note:

类要实现接口,必须使用和接口中所定义的方法完全一致的方式。否则会导致致命错误。

示例

<?php

// 声明一个'iTemplate'接口
interface iTemplate
{
  public function setVariable($name, $var);
  public function getHtml($template);
}

// 实现接口
// 下面的写法是正确的
class Template implements iTemplate
{
  private $vars = array();
 
  public function setVariable($name, $var)
  {
    $this->vars[$name] = $var;
  }
 
  public function getHtml($template)
  {
    foreach($this->vars as $name => $value) {
      $template = str_replace('{' . $name . '}', $value, $template);
    }
 
    return $template;
  }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
随机头像PHP版
Oct 09 PHP
用PHP实现ODBC数据分页显示一例
Oct 09 PHP
php 获取客户端的真实ip
Nov 30 PHP
解决File size limit exceeded 错误的方法
Jun 14 PHP
PHP 线程安全与非线程安全版本的区别深入解析
Aug 06 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
Nov 05 PHP
php常见的魔术方法详解
Dec 25 PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 PHP
php导出csv文件,可导出前导0实例代码
Nov 16 PHP
替换php字符串中的单引号为双引号的方法
Feb 16 PHP
如何离线执行php任务
Feb 21 PHP
CodeIgniter框架基本增删改查操作示例
Mar 23 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
Apr 13 #PHP
yii2.0框架多模型操作示例【添加/修改/删除】
Apr 13 #PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 #PHP
php回调函数处理数组操作示例
Apr 13 #PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
Apr 13 #PHP
laravel使用数据库测试注意事项
Apr 10 #PHP
为你的 Laravel 验证器加上多验证场景的实现
Apr 07 #PHP
You might like
php 表单数据的获取代码
2009/03/10 PHP
php 面向对象的一个例子
2011/04/12 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
析构函数与php的垃圾回收机制详解
2013/10/28 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
2016/09/13 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
javascript中encodeURI和decodeURI方法使用介绍
2013/05/06 Javascript
javascript静态页面传值的三种方法分享
2013/11/12 Javascript
js截取固定长度的中英文字符的简单实例
2013/11/22 Javascript
js时间日期格式化封装函数
2014/12/02 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
详解javascript函数的参数
2015/11/10 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
学习JavaScript设计模式之单例模式
2016/01/19 Javascript
js表单登陆验证示例
2016/10/19 Javascript
基于AGS JS开发自定义贴图图层
2017/03/31 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
微信小程序环境下将文件上传到OSS的方法步骤
2019/05/31 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
常见python正则用法的简单实例
2016/06/21 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
零基础小白多久能学会python
2020/06/22 Python
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
关键字throw与throws的用法差异
2016/11/22 面试题
厨师岗位职责
2013/11/12 职场文书
一个大学生十年的职业规划
2014/01/17 职场文书
应届大专生自荐书
2014/06/16 职场文书
公司的力量观后感
2015/06/05 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL