草庐IT

register_namespace

全部标签

php - 如何使用 PHP/XPath/DOM 查询 namespace

我正在尝试查询使用命名空间的XML文档。我在没有命名空间的情况下使用xpath取得了成功,但没有命名空间的结果。这是我正在尝试的一个基本示例。我稍微压缩了一下,所以我的示例中可能存在一些小问题,可能会影响我的实际问题。示例XML:MyContent示例PHP代码:registerNamespace('sf',"http://developer.apple.com/namespaces/sf");$p=$xpath->query("//sf:p",$dom);我的结果是“p”是一个“DOMNodeListObject()”,它的长度是0。任何帮助将不胜感激。

php - register_shutdown_function() - 什么是最佳实践?

我目前出于多种目的使用register_shutdown_function()。一种用途是处理fatalerror,另一种用途是记录执行期间使用的资源,如时间、内存使用情况等。目前我注册了两个不同的关闭函数,但在一个测试中只有第一个运行而另一个似乎失败了。现在这当然可以由函数本身的一些错误触发,所以我重写了它,但是是否有可能是使用多个register_shutdown_function调用引起的错误?那么这里的最佳实践是什么,是注册两个不同的函数,还是只调用一个处理不同任务的函数?如果发生fatalerror,让函数加载错误处理类是否也安全(并且可能),还是我应该将功能保留在函数本身中

php - 使用 SPL_AUTOLOAD_REGISTER 时命名空间如何工作?

我今天正在学习如何在PHP中使用命名空间和自动加载,但我似乎遇到了障碍。当我不使用spl_autoload_register而是使用require_once时,事情似乎有效。我的文件夹结构非常简单:-index.php-class/-Users.php在我的index.php文件中我有:在我的class/Users.php文件中我有:这绝对没问题,返回了1的ID理想情况下,我想使用自动加载功能,我发现了spl_autoload_*,这就是我尝试做的,但没有成功:在我的class/Users.php文件中我有:在我的index.php文件中我有:但是我得到一个错误:`Class'User

php - Symfony2 : Integrating with a non-namespaced SDK (specifically PayPal)

我创建了一个PaypalBundle并添加了Paypalmerchant-php-sdk到我的composer.json,现在我有一个vendor\paypal\merchant-php-sdk目录。但是这个SDK没有命名空间并且看起来不是很OOP。访问这些文件的最佳方式是什么?我应该使用require吗?我应该对自动加载做些什么吗?我研究了用类似的AmazonAPI做了什么,但是Amazon代码对OOP更友好,定义了namespace等。第1步:Composer.json“存储库”配置{"type":"package","package":{"version":"master","n

php - 如何使带有 PDT 的 Eclipse 与已注册的 Joomla namespace 别名一起工作?

我想做的是开始在Joomla下工作!安装了PHP开发工具的EclipsePHPIDE中的项目。我使用EclipseOxygen进行PHP开发并使用Joomla3.8.2项目。创建项目并导入代码后,我收到有关无法将某些类解析为类型的验证错误。例如:$par=JComponentHelper::getParams('com_somecomponent');这给了我一个验证错误:JComponentHelpercannotberesolvedtoatype.我认为这是因为JComponentHelper是一个已注册的Joomla!别名,真实名称是\Joomla\CMS\Component\C

php - 使用 namespace 重定位和重命名类

我有一些旧类(class)想过渡到PSR-0样式目录。我想对我的流程进行健全性检查。将现有的FooPerson.class.php文件重命名并重新定位到Foo/Person.php。在Person.php中创建namespaceFoo,并根据需要更新所有类引用以兼容命名空间。为了与旧代码兼容,使用以下内容创建一个新的FooPerson.class.php:我希望这将启用使用newFooPerson或new\Foo\Person的透明实例化。初步测试似乎支持这一点。有没有我应该注意的陷阱? 最佳答案 我没有看到任何陷阱。但是,我建议使

php - register_shutdown_function 将引用转换为值?

我正在尝试使用一个关闭函数,该函数使用注册后动态更改的值。我的理解是,通过引用传递变量将允许代码后面部分的更改影响关闭调用。下面的代码证明情况并非如此:我是不是误解了应该怎么做?将引用传递转换为值传递是注册函数的预期行为吗?PHP版本5.5.9 最佳答案 一种可能的解决方案是使用匿名函数(在本例中是一个闭包,捕获了$x作为引用):$x=0;$shutdown=function()use(&$x){echo$x;};register_shutdown_function($shutdown);$x=1;exit();演示:http://

php - 将 namespace 与从变量创建的类一起使用

所以我创建了这两个类//Quarter.phpnamespaceResources;classQuarter{...}//Epoch.phpnamespaceResources;classEpoch{publicstaticfunctioninitFromType($value,$type){$class="Quarter";returnnew$class($value,$type);}}现在这是两者的一个非常简化的版本,但足以说明我的问题。此处显示的类将不起作用,因为它找不到Quarter类。为了让它工作,我可以将$class变量更改为$class="\Resources\Quart

PHP 简单 XML : Handling Unknown Namespaces in SOAP Requests

有一个tonofexistingquestions关于PHP的simpleXML和使用namespace处理XML。我看过的所有问题都做出了一个基本假设:代码预先知道传入的SOAP请求中将包含哪些namespace。就我而言,我在SOAP请求中看到了不一致的命名空间。具体来说,我一直致力于实现一个网络服务来与QuickbooksWebConnector对话(pdf)和我见过的一些示例请求如下所示:usernamepassword...有些看起来像这样:usernamepassword...或者这个:usernamepassword我理解使用xpath()来选择元素,但这假设您知道要查找

php - 什么替换了 Smarty 3 中的 register_modifier

我正在考虑从Smarty2升级到Smarty3,并使用注册了少量修改器register_modifier($ModifierName,$FunctionName)我在文档中找不到指示我应该将这些更改为什么的地方,我试过了。$Smarty->Register->Modifier(但是报错。谁能指出我的文档。 最佳答案 原来它被移到了registerPlugin()http://www.smarty.net/docs/en/api.register.plugin.tpl 关于php-什么替换