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 相关文章推荐
一键删除顽固的空文件夹 软件下载
Jan 26 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Jul 04 PHP
Zend Studio去除编辑器的语法警告设置方法
Oct 24 PHP
php 定义404页面的实现代码
Nov 19 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
Sep 24 PHP
php使用sql server验证连接数据库的方法
Dec 25 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
Aug 23 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
Feb 22 PHP
php遍历替换目录下文件指定内容的方法
Nov 10 PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
Aug 06 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
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
一次编写,随处运行
2006/10/09 PHP
聊天室php&amp;mysql(四)
2006/10/09 PHP
几种显示数据的方法的比较
2006/10/09 PHP
PHP变量内存分配问题记录整理
2013/11/27 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
Smarty模板简单配置与使用方法示例
2016/05/23 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
mongoose更新对象的两种方法示例比较
2017/12/19 Javascript
AngularJS实现动态切换样式的方法分析
2018/06/26 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
基于layui内置模块(element常用元素的操作)
2019/09/20 Javascript
Python数据类型详解(三)元祖:tuple
2016/05/08 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
2018/12/05 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
Django CSRF认证的几种解决方案
2020/03/03 Python
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
C#可否对内存进行直接的操作
2015/02/26 面试题
大学军训感言200字
2014/02/26 职场文书
一年级学生期末评语
2014/04/21 职场文书
《恐龙》教学反思
2014/04/27 职场文书
公司承诺函范文
2015/01/21 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书
mybatis中注解与xml配置的对应关系和对比分析
2021/08/04 Java/Android
nginx之queue的具体使用
2022/06/28 Servers