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 处理上百万条的数据库如何提高处理查询速度
Feb 08 PHP
PHP file_exists问题杂谈
May 07 PHP
php 判断服务器操作系统的类型
Feb 17 PHP
Laravel 4.2 中队列服务(queue)使用感受
Oct 30 PHP
php如何连接sql server
Oct 16 PHP
PHP中Http协议post请求参数
Nov 02 PHP
php根据年月获取当月天数及日期数组的方法
Nov 30 PHP
php中照片旋转 (orientation) 问题的正确处理
Feb 16 PHP
根据key删除数组中指定的元素实现方法
Mar 02 PHP
在IIS下安装PHP扩展的方法(超简单)
Apr 10 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
Aug 03 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 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
关于crontab的使用详解
2013/06/24 PHP
PHP简单预防sql注入的方法
2016/09/27 PHP
PHP创建XML接口示例
2019/07/04 PHP
PHP基于ip2long实现IP转换整形
2020/12/11 PHP
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
JavaScript/jQuery 表单美化插件小结
2012/02/14 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
JavaScript驾驭网页-DOM
2016/03/24 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
Vue.js原理分析之observer模块详解
2017/02/17 Javascript
js CSS3实现卡牌旋转切换效果
2017/07/04 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
2017/08/04 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
python散点图实例之随机漫步
2018/08/27 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
CSS3字体效果的设置方法小结
2016/06/13 HTML / CSS
html5 Canvas画图教程(5)—canvas里画曲线之arc方法
2013/01/09 HTML / CSS
墨西哥购物网站:Elektra
2020/01/21 全球购物
4s店总经理岗位职责
2013/12/31 职场文书
农民工工资承诺书范文
2014/03/31 职场文书
2014年图书室工作总结
2014/12/09 职场文书
2016婚礼主持词开场白
2015/11/24 职场文书
《窃读记》教学反思
2016/02/18 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python
MySQL的存储函数与存储过程的区别解析
2022/04/08 MySQL
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
2022/05/25 SQL Server