草庐IT

register_namespace

全部标签

php - register_shutdown_function() 和 die()

如果我的脚本在register_shutdown_function()中被die()取消了,我能以某种方式检查吗??像这样:register_shutdown_function('shutdown');die('Callingdie()');functionshutdown(){if(???){//Scriptwascanceledbydie()}}注意:在我的网站上,我使用Smarty。所以也许检查一下,是否调用了$smarty->display()或类似的东西? 最佳答案 有点……但您不一定喜欢它的完成方式。因为没有钩子(Hoo

php - spl_autoload_register 不工作

我在主目录中创建了5个文件夹,其中包含5个类(Ad_Class、Blocked_Class、Friend_Class、Image_Class、Profile_Class)。我还在提到的文件夹中创建了相应的类,并使用与文件夹相同的名称。即,如果文件夹名称为Ad_Class,则文件夹中的类也与“类Ad_Class”中的文件夹名称相同。在index.php文件中我写了如下代码:functionAd_Class($name){include"Ad_Class/$name.php";}functionBlocked_Class($name){include"Blocked_Class/$name

php - eclipse PDT : Syntax Errors with valid PHP Namespace Syntax

我在PDT2.2中使用Eclipse3.6(Helios),在尝试“使用”命名空间时出现语法错误。我能做些什么来解决这个问题吗?例子:useTables\Exceptions\ExceptionasException;PHP解析器将“Tables”识别为该行和其他类似行的语法错误。 最佳答案 这可能与您在Eclipse中的解释器设置有关。转到项目菜单并选择属性。显示属性屏幕后,您可以转到PHP解释器并在项目级别或工作区级别调整PHP版本。将PHP版本设置为5.3或更高版本以正确突出显示。如果您的项目使用的是PHP5.2,那么您将无法

php - ZF2 : autoloading libraries without namespaces

以前我只使用第三方库,这些库将命名空间与ZendFramework2一起使用。现在我需要使用alibrary不使用命名空间,我似乎无法让它工作。我通过Composer安装它,并且它安装在vendor目录中。我正在尝试按如下方式使用它:$obj=new\SEOstats();结果是一个fatalerror,表示找不到该类。我曾尝试手动配置StandardAutoloader,但到目前为止还没有成功。我以为通过Composer安装时会自动为我完成自动加载,但我想如果没有namespace,情况并非如此?我没有在Composer生成的自动加载文件中看到任何对库的引用。我想我必须手动完成-但怎

php - PHP namespace 是否与前导斜杠一起使用

当使用PHPnamespaces时,您是否像这样使用它们:\Foo\Bar->method()或Foo\Bar->method()请注意,区别仅在于前导斜杠。或者两者都有效,但含义不同?谢谢。 最佳答案 前导\的用法就像文件系统中的绝对路径和相对路径。最好用代码解释:namespacetest;$dt=newDateTime();失败,因为我们使用的是相对路径(没有前导\)和当前命名空间test。并且在这个虚构的命名空间中没有类DateTime。namespacetest;$dt=new\DateTime();在我们使用绝对name

php - 使用 OOP 在 PHP 中组合大量函数(某种 namespace )?

我正在使用PHP,我想知道将大量函数组合到一个类中是多么糟糕的做法。我知道这不是类的目的,但我这样做的原因是提供一个namespace。在执行PHP脚本时启动假设10个类而不是假设2或3个类会产生多大影响? 最佳答案 如果你使用的php版本(从thephpmanual复制)我会说它在某种程度上是一个类的函数-功能分组。这不会有任何与性能相关的问题(您可以执行数百万次而您甚至不会注意到-应该没有运行时成本,只有一分钟的额外解析成本,这是可以忽略不计的)。现代php框架引入大量代码并在内部创建大量对象——我不会担心php性能,数据库性能

php - 有没有办法重定向到 register_shutdown_function 中的错误页面?

我正在尝试找到一种干净的方法来处理致命和严重错误(即没有输出缓冲),并且我读到在register_shutdown_function中使用HTTPheader是不可能的。问题是,当发生严重错误(例如:服务不可用)时,我想重定向到通用静态错误页面。我该怎么办?显示一个或使用Javascript似乎都不是令人满意的解决方案。感谢您的帮助! 最佳答案 有一个解决方案(确实检测解析错误),与您所读的相反:我在生产服务器上运行一个网站,如果确实存在fatalerror,我们不显示任何错误或显示任何白页是至关重要的。目前,我们没有测试服务器,所

php - register_globals 修复

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我有一个客户,他有一家网上商店,他希望我主持。该站点由另一个开发人员编写并使用了全局寄存器。当我将它上传到我的服务器时,它告诉我它需要启用register_globals,我检查了.htaccess文件,它是。当我询问托管公司时,他们告诉我它已被弃用,不会在服务器上运行。我不确定代码的哪些部分依赖于它,因为我没有仔细研究编程,我只是打算托管它。是否有快速修

php - 使用 "global-namespace";

我只是想知道是否有一种方法可以使用“use”关键字使一个类的行为就像它在全局命名空间中一样,这样这个类就只能从类的外部表现得像命名空间的类。像这样的东西:namespacewherever\somewhere\deep\deep\inside;use\;//rootnamespace..note:thisdoesn'tworkclassstuff{//....}有人吗? 最佳答案 使用全局命名空间不会按您预期的方式工作。默认情况下,您可以通过添加反斜杠来引用全局命名空间类——例如$x=new\PDO(...);。尝试使用\不会改变这

php - cloneNode 与 namespace 不一致 - 跨环境?

当尝试克隆DOMNode对象(DOMNode::cloneNode)时,我在不同环境中运行它时遇到不一致,特别是当我打印nodeName属性时克隆无法复制namespace,例如$cloneNode=$origNode->cloneNode(true);echo("oldnodename=".$origNode->nodeName);echo("newnodename=".$cloneNode->nodeName);结果(本地-mac操作系统)“旧节点名称=命名空间:你好”“新节点名称=命名空间:你好”结果(本地-centos):“旧节点名称=命名空间:你好”“新节点名称=你好”在对节