80-定义接口

原创 2016年04月28日 21:56:12

80-定义接口

定义一个接口还是很方便的,我先给出一个PHP语言中的形式。

<?php
interface i_myinterface
{
    public function hello();
}
?>

那它在扩展中的实现是这样的。

zend_class_entry *i_myinterface_ce;

static zend_function_entry i_myinterface_method[]={
    ZEND_ABSTRACT_ME(i_myinterface, hello, NULL) //注意这里的null指的是arginfo
    {NULL,NULL,NULL}
};

ZEND_MINIT_FUNCTION(test)
{   
    zend_class_entry ce;
    INIT_CLASS_ENTRY(ce, "i_myinterface", i_myinterface_method);

    i_myinterface_ce = zend_register_internal_interface(&ce TSRMLS_CC);
    return SUCCESS;
}

我们使用ZEND_ABSTRACT_ME()宏函数来为这个接口添加函数,它的作用是声明一个类似虚函数的东西,不用实现。也就是说我们不用为其添加ZEND_METHOD(i_myinterface,hello){…}的实现。但是这个宏函数只能为我们实现public类型的函数声明,如果有其它特殊需要,需要使用ZEND_FENTRY()宏函数来实现,因为ZEND_ABSTRACT_ME也不过是后者的一种封装。

下面我们在PHP语言中使用这个接口。

<?php
class sample implements i_myinterface
{
    public $name = "hello world!";

    public function hello()
    {
        echo $this->name."\n";
    }
}

$obj = new sample();
$obj->hello();
?>

80端口被占用及如何释放80端口的方法

80端口冲突原因分析: 主要原因是WampServer默认的安装端口是80,容易和已安装的ISS等其他服务冲突,导致WampServer无法启动。 通常占用80端口的程序有:迅雷、IIS。 ...
  • u010932314
  • u010932314
  • 2014年05月23日 09:32
  • 826

Linux下Tomcat使用80端口

linux系统下,普通用户使用80端口.端口跳转
  • Readiay
  • Readiay
  • 2015年05月03日 17:29
  • 9851

接口(interface)那点事

1、接口(interface),在 java中有这个类型哦,这是语法哦。 public interface MyInterface { }语法还是很清晰的哦, 类的关键字是class、而接口改为...
  • cadi2011
  • cadi2011
  • 2016年01月14日 22:17
  • 706

Windows下80端口被进程System占用的解决方法

最近电脑时不时就发生了80端口被占用的情况,简单百度解决后,当重启电脑的时候又发生被占用的情况.今天非常幸运的是,发生了80端口和8080端口都被占用了情况,忍无可忍决定下定决心解决这个坑爹的问题,经...
  • LINPE
  • LINPE
  • 2017年03月27日 23:42
  • 6399

Ubuntu 14.04 Web 程序开发(5)Ubuntu为Tomcat启用80端口

Ubuntu 14.04为Tomcat启用80端口
  • kangear
  • kangear
  • 2016年12月18日 14:28
  • 1326

Tomcat修改80端口的一系列问题

本菜开源的一个自己写的Demo,希望能给Androider们有所帮助,水平有限,见谅见谅… https://github.com/zhiaixinyang/PersonalCollect (拆解Gi...
  • wjzj000
  • wjzj000
  • 2017年01月05日 15:22
  • 856

80端口被Apache的httpd.exe所占用

1.问题的提出背景安装完成Apache Tomcat6.0后验证是否安装成功,在浏览器地址框中输入:http://localhost:8080,出现下面的界面说明安装成功。 然而,每次都输入端口...
  • speedwaycl
  • speedwaycl
  • 2015年10月10日 14:05
  • 6414

[原]Java思想之容器implements与接口interface

http://homeway.me/ 0x01.About查了一些国内资料,都说java中extended与implements的区别是,一个类只能有一个继承,一个类可以有多个容器。后来去看了...
  • u012992688
  • u012992688
  • 2015年04月15日 00:35
  • 1955

【GoLang笔记】浅析Go语言Interface类型的语法行为及用法

Go不是一种典型的OO语言,它在语法上不支持类和继承的概念。 没有继承是否就无法拥有多态行为了呢?答案是否定的,Go语言引入了一种新类型—Interface,它在效果上实现了类似于C++的“多态”概念...
  • slvher
  • slvher
  • 2015年03月20日 15:28
  • 5497

centos7 Firewall防火墙开启80端口

开启80端口firewall-cmd --zone=public --add-port=80/tcp --permanent出现success表明添加成功命令含义:–zone #作用域–add-por...
  • zhangpeng_123456
  • zhangpeng_123456
  • 2016年10月05日 15:19
  • 6224
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:80-定义接口
举报原因:
原因补充:

(最多只允许输入30个字)