草庐IT

dll-interface

全部标签

php - 闭包如何帮助创建 DSL/fluent 接口(interface) : PHP examples?

您能给我一个PHP示例,说明闭包如何有助于创建DSL(流畅的接口(interface))吗?编辑:以下问题中接受的答案讲述了嵌套闭包。如果有人可以将该示例翻译成PHP,那也会有所帮助:Experiencewithfluentinterfaces?Ineedyouropinion! 最佳答案 这是我能想到的第一个例子,它不是很好,但它给了你一个想法:$db=newDatabase();$filteredList=$db->select()->from('my_table')->where('id',9)->run()->filter(

command-line-interface - 在不使用 foreach 循环的情况下迭代关联数组并导致内存泄漏

我正在开发一个无限循环运行的命令行脚本。一段时间后,它会导致段错误,我认为这是由内存泄漏引起的。我想我是对的,因为在查看ps命令产生的结果后,脚本使用的内存似乎在脚本崩溃之前不断增加。我找到了thisarticle,它指出命令行php中内存泄漏的一个可能原因是使用foreach循环,它创建永远不会取消设置的数组副本。经过一些研究,情况似乎是这样。所以我决定用它们的for等效项替换所有foreach循环。第一个问题-我的推理是否正确?第二个-如果我有一个要迭代的关联数组并且我想知道当前键怎么办?我能想到的一种方法是使用array_walk(),另一种方法是结合使用next()和key()

php - 缓存 API/接口(interface)以用作模型

我正在用PHP编写缓存API。它完成了我需要它做的所有事情,但我正在将它贡献回一个项目,其他人可能会用它做其他事情。在代码审查中,我被要求确保它具有缓存API中期望的所有标准方法。我查看了PHP的MemcacheAPI、Zend的缓存API和其他一些API,但似乎并没有真正的标准。他们当然不同意方法的名称(read()与get()与等等)。那么,我是否应该确保我可以进行CRUD操作并结束工作?是否加入flush()以取得良好效果?或者是否有一种标准通用模型可用于缓存API?或者我应该直截了本地坚决主张我们不应该在真正需要之前实现任何东西吗? 最佳答案

php - 尝试理解 php 中的 Iterator 接口(interface)

我正在阅读http://php.net/manual/en/class.iterator.php,但很难理解示例#1的基本用法。问题:var_dump(__METHOD__);我知道你可以在这里使用变量,例如:var_dump($count),但是METHOD不是变量,还是全局变量/常量?foreach($itas$key=>$value){var_dump($key,$value);echo"\n";}如果我把它改成:foreach($itas$key=>$value){}如果我运行脚本,它仍然可以显示结果,为什么?var_dump($key,$value);结果是int0strin

php - 在 PHP 的 DLL(.net) 中运行函数 - 似乎没有任何效果

好吧,我已经解决了几乎所有的问题,PHP手册,并在整个互联网上发布了这个问题。似乎没有任何帮助。我正在开展一个项目,该项目需要我在ActiveDirectory上对组织中的不同用户进行身份验证(或至少能够查找UID)。对于连接和身份验证,他们为我提供了一个具有身份验证所需功能的dll文件。我需要使用这个dll文件和其中的函数来让我的应用程序正常工作。以下是我迄今为止尝试过的不同方法以及每种方法的错误。使用dl()加载DLL。我试过用dl('filename.dll');得到了错误Calltoundefinedfunctiondl()inC:\xampp\htdocs\OOP_curat

PHP 相当于 IMAP 的 cURL "user-interface"

我想知道,是否有办法在发送IMAP请求时选择使用哪个IP?例如,我有一个有4个IP地址的服务器,我想将第二个用于IMAP。我在寻找一些东西,例如cURL中的“用户界面”,它允许您使用您的服务器IP之一。 最佳答案 不出所料,您正在寻找的答案是CURLOPT_INTERFACE。来自documentation:CURLOPT_INTERFACE要使用的传出网络接口(interface)的名称。这可以是接口(interface)名称、IP地址或主机名。 关于PHP相当于IMAP的cURL"u

php - 当 pecl4win 关闭时从哪里获取 php_perl.dll?

我需要从PHP文件调用Perl脚本,据我所知,我需要Perl类,并且它位于php_perl.dll扩展名中。我还从PECL下载了php_perl包,但如您所知,它只是源代码,需要编译。我不使用C语言工作,所以编译它并不是一个真正的选择——我尝试下载VisualStudioExpress,但我似乎仍然无法实现它。所以我真的需要php_perl.dll,但是http://pecl4win.php.net/ext.php/php_perl.dll只是告诉我“pecl4win构建盒暂时停止服务。我们正在准备一个新的构建系统。”当然必须有其他地方我可以获得DLL,但我似乎找不到它。我找到的每个链

php - 如何在PHP中加载DLL文件

我正在为mdaemon邮件服务器开发一个php自定义应用程序。php中没有api示例,都在cpp和vb中。我知道我们可以使用COM在php的文件中使用dll,而且我也在windows环境中。要启动一切,我需要加载MDUser.dll文件。到目前为止,我已经下载了php_com_dotnet.dll并将其放在wamp服务器C:\wamp\bin\php\php5.3.13\ext的extensions目录中。我已经在php.ini中启用了扩展这是我的密码$oMDUser=newCOM("MDUserCOM.MDUser")ordie("UnabletoinstantiateMDUSERC

php - 使用带有常量的接口(interface)作为类的多态行为的开始是好的做法吗?

StackOverflow上的一些人认为这可能是一个好的实现吗?例如,我有一个名为RequestInterface的接口(interface),它有5个常量:interfaceRequestInterface{constGET=1;constPOST=2;constPUT=3;constDELETE=4;constHEAD=5;publicfunctiongetType();//...someothermethodsdeclarations}然后对于每个常量一个实现该接口(interface)的类,例如PostRequest:classPostRequestimplementsRequ

php - 如何在 Laravel 5.1 中观察所有实现接口(interface)的模型?

我有一个扩展Eloquent模型的审计类...classAuditextendsModel{}我有一个可审核的界面...interfaceIAuditiable{publicfunctionaudit();}我有一个特性可以实现接口(interface)并定义模型和审计之间的关系...traitAuditable{publicfunctionaudit(){return$this->hasMany('Audit');}}我有一个扩展Eloquent模型的模型,它实现了接口(interface)并使用了特征...classPostextendsModelimplementsIAudita