草庐IT

INTERFACE

全部标签

php - 未找到 Zend Framework 2.0 接口(interface)

精简版Client类在哪里寻找DispatchableInterface接口(interface)?classClientimplementsLibraries\Stdlib\DispatchableInterface我正在尝试将ZF2库添加到CodeIgniter安装中。整个Zend文件夹位于:/Users/stef/Sites/site_name/application/libraries/在我的CIController中我有publicfunctionrun(){$CI=&get_instance();$CI->load->library('Zend');$CI->load->l

php - 流体接口(interface)如何返回 $this 和值?

我对OOP比较陌生,所以浏览SimpleHTMLDOM的文档时我想知道它的方法如何使用方法链和返回值/对象的常规行为。例如我可以这样做:$html=newsimple_html_dom();$html->find('something');//Returnsobjectorarrayofobjects但我也可以:$html->find('something')->find('something_else');如果我正确理解方法链接,这意味着find()返回$this即它本身。此外,我的理解是使用方法链接返回$this,之后使用getter方法实际返回一个您可以使用/想要的值。例如:$o

php - 代码覆盖率中的接口(interface)和空类

我将PHPUnit5.2.9、PHP5.6.19和Xdebug2.4.0(非RC)与netbeansIDE一起使用。与任何其他项目一样,我使用接口(interface)和奇怪的空扩展类。由于这些文件不包含可执行代码,为什么它们会列在我的代码覆盖率报告中?不仅如此,它们被列为0%覆盖了0/0方法。(如果那是100%只是为了减少红色,我会很高兴)我试过在phpunit.xml中排除它们文件://truemakenodifference./Annotation./Cache./*Interface./*/*Interface但似乎globs(*)只对目录有效。但是我可以使用标记并单独排除它们

php - 使用对象作为数组

在最近的PHP更新中,他们添加了各种接口(interface)以允许将对象视为数组,例如ArrayAccess、Iterator、Countable等。我的问题是,下面的操作是否有意义:functionuseArray(array$array){print_r($array);}useArray(newArrayObj(array(1,2,3,4,5));截至目前,PHP会抛出类型提示错误,因为$array在技术上不是数组。但是,它实现了所有使其与数组基本相同的接口(interface)。echo$array[0];//1$array[0]=2;echo$array[0];//2从逻辑

php - 在 PHPUnit 中模拟时在回调中通过引用传递

我有一个我想模拟的接口(interface),并模拟其中一个方法的行为。所以我创建了一个非常简单地模拟行为的回调。如果我创建一个基于此接口(interface)的新对象,则此测试通过,但我想模拟该接口(interface)。模拟的setUp方法被正常调用,并且在我的回调中调用getVar('testing')返回值。但是我的断言失败了,因为该值不可用。在PHPUnit中似乎不能这样做?除非我是傻子。代码流程的简要说明;“getVar”中的代码调用了一个方法,该方法在添加的插件上调用“setUp”。当它调用“setUp”时,它传入“$this”。这是我期望通过引用传递的$this,它适用

php - 将 PHP 接口(interface)导出到 Typescript 接口(interface),反之亦然?

我正在试验Typescript,在我目前的契约(Contract)中,我用PHP编写后端代码。在几个项目中,我为后端代码提供的AJAX响应编写了Typescript接口(interface),以便前端开发人员(有时也是我,有时是其他人)知道期望什么并进行类型检查等.在编写了一些这样的后端服务之后,似乎响应的接口(interface)和相关类也应该存在于PHP端。这让我觉得,如果我可以只用两种语言中的一种编写它们并运行一些构建时工具(我会在Typescript编译器运行之前用gulp任务调用它)来导出这些,那就太好了与其他语言的接口(interface)。有这样的东西吗?可能吗?实用吗?

php - 界面类型提示

为什么类类型提示应该与接口(interface)100%相同?我的意思是,为什么它不能接受实现类作为类型提示?为了说清楚,错误:fatalerror:MyClass::doMethod()的声明必须与MyInterface::doMethod()的声明兼容由于类类型提示实现了SomeInterface,我希望它不会违反契约。我为什么要它?因为接口(interface)灵活的优点。抽象类也是如此。如果我重写代码,使方法“do”没有类型提示,我知道它会“修复”它。但是,不知何故,我认为我应该定义$a的类型提示必须实现SomeInterface的契约。而且,为什么我不使用相同的类型提示,即S

php - php 中的特征——任何真实世界的例子

在php中,traits具有一些特性,如接口(interface)和抽象类,traits也有助于继承。任何与Trait、Interface、Abstractclass和Interface相关的真实世界示例或讨论。 最佳答案 假设有2个类:Mailer和Writer。Mailer通过邮件发送一些文本,其中Writer将文本写入文件。现在假设您想要格式化两个类使用的输入文本。这两个类将使用相同的逻辑。您可以创建一个接口(interface),但您需要在两个类中复制逻辑。您可以创建一个父类并扩展它,但PHP不允许继承多个类。如果您的Mai

php - 是否可以指定用于 PHP SoapClient 的传出网络接口(interface)?

我需要将SoapClient绑定(bind)到特定的出站网络接口(interface),但我找不到任何相关文档。这可能吗?如果不是,有哪些可能的解决方法? 最佳答案 您可以将流上下文传递给设置了bindto选项的soapclient构造函数:$opts=array('socket'=>array('bindto'=>'192.168.0.100:0',),);$ctx=stream_context_create($opts);$client=newSoapClient('the.wsdl',array('stream_context

php - 是否可以在 PHP 中定义接口(interface) Singleton?

我想定义一个Singleton基类型,用户将从中派生他的类,所以这就是我的想法:interfaceSingletonInterface{publicstaticfunctiongetInstance();}abstractclassSingletonAbstractimplementsSingletonInterface{abstractprotectedfunction__construct();finalprivatefunction__clone(){}}但是使用这种方法,用户可以实现这个单例......classBadImplimplementsSingletonInterfa