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 更新数据库中断的解决方法
Jun 05 PHP
.htaccess文件保护实例讲解
Feb 06 PHP
ajax 的post方法实例(带循环)
Jul 04 PHP
CodeIgniter CLI模式简介
Jun 17 PHP
php计算2个日期的差值函数分享
Feb 02 PHP
cakephp打印sql语句的方法
Feb 13 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
Mar 17 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
Jul 07 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
PHP实现的服务器一致性hash分布算法示例
Aug 09 PHP
PHP校验15位和18位身份证号的类封装
Nov 07 PHP
详解PHP素材图片上传、下载功能
Apr 12 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数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
php轻松实现中英文混排字符串截取
2014/05/28 PHP
php中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
js 异步操作回调函数如何控制执行顺序
2013/12/24 Javascript
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
详解vue服务端渲染(SSR)初探
2017/06/19 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
Angular4表单验证代码详解
2017/09/03 Javascript
详解javascript中的babel到底是什么
2018/06/21 Javascript
Vue作用域插槽slot-scope实例代码
2018/09/05 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
JavaScript canvas动画实现时钟效果
2020/02/10 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
Python字符串切片操作知识详解
2016/03/28 Python
python range()函数取反序遍历sequence的方法
2018/06/25 Python
Python3解释器知识点总结
2019/02/19 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
Python 使用双重循环打印图形菱形操作
2020/08/09 Python
python实现自动清理重复文件
2020/08/24 Python
Python调用飞书发送消息的示例
2020/11/10 Python
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
口头翻译求职人自荐信
2013/12/07 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
公司应聘自荐书
2014/06/14 职场文书
内勤岗位职责
2015/02/10 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
Linux中文件的基本属性介绍
2022/06/01 Servers