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 图片加水印与上传图片加水印php类
May 12 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
PHP static局部静态变量和全局静态变量总结
Mar 02 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
Jul 24 PHP
php通过rmdir删除目录的简单用法
Mar 18 PHP
PHP实现中文圆形印章特效
Jun 19 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
Feb 22 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
Sep 14 PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 PHP
php使用imagecopymerge()函数创建半透明水印
Jan 25 PHP
PHP实现微信商户支付企业付款到零钱功能
Sep 30 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
html中select语句读取mysql表中内容
2006/10/09 PHP
PHP中通过ADO调用Access数据库的方法测试不通过
2006/12/31 PHP
PHP5 面向对象(学习记录)
2009/12/02 PHP
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
php中memcache 基本操作实例
2015/05/17 PHP
thinkPHP微信分享接口JSSDK用法实例
2017/07/07 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
PHP+jQuery+Ajax+Mysql如何实现发表心情功能
2015/08/06 Javascript
JavaScript必知必会(五) eval 的使用
2016/06/08 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
2017/10/31 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
详解如何运行vue项目
2019/04/15 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
jQuery轮播图功能制作方法详解
2019/12/03 jQuery
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
Python 文件操作实现代码
2009/10/07 Python
python获取网页状态码示例
2014/03/30 Python
Python Sleep休眠函数使用简单实例
2015/02/02 Python
浅谈django orm 优化
2018/08/18 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
python实现简单学生信息管理系统
2020/04/09 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
canvas使用注意点总结
2013/07/19 HTML / CSS
2014社区三八妇女节活动方案
2014/03/30 职场文书
房屋租赁意向书范本
2015/05/09 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书
详解Python如何批量采集京东商品数据流程
2022/01/22 Python
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android