草庐IT

SELF-CLOSING-TAG

全部标签

php - self::__construct() 和 new self() 之间的确切区别

你能告诉我returnself::__construct()和returnnewself()之间的确切区别吗?看起来实际上可以在创建对象时从__construct()调用返回一个self::__construct(),返回对象本身就像第一个__construct()从未被调用过。 最佳答案 这在代码中得到了最好的说明:classMyClass{public$arg;publicfunction__construct($arg=NULL){if($arg!==NULL)$this->arg=$arg;return$this->arg;

PHP 在非静态方法上调用 self

为什么在此示例中对非静态方法的“self”调用有效?classA{protectedfunctionaNonStaticMethod(){return__class__;}publicfunctionaEcho(){echoself::aNonStaticMethod();}}感谢您的解释。 最佳答案 在您的简单示例中,$this和self是可以互换的。但要注意处理继承时解析的不同方法(为了完整性我添加了静态):classA{protectedfunctionaNonStaticMethod(){return__class__;}p

php - 使用#tag 获取完整 URL

试图在PHP中打印$_SERVER数组,但找不到我想要的:http://www.domain.com/#sometaginpage我想要“sometaginpage”。帮助。谢谢! 最佳答案 浏览器实际上不会将散列(#)之后的任何内容发送到服务器,因为它是在浏览器内解析的。 关于php-使用#tag获取完整URL,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6119095/

php - Apache 崩溃报告 - is_closing_session() : no DBUS_SESSION_BUS_ADDRESS in environment

我注意到我的系统一直在生成此崩溃报告。我不确定为什么,而且我对apache内部事件的了解是有限的。我不太确定是什么原因造成的,因为服务器上没有任何特别的变化。任何帮助表示赞赏。我应该寻找和检查什么?可能是什么原因造成的?批准:ERROR:apport(pid8618)MonJan2514:35:242016:calledforpid8384,signal7,corelimit0ERROR:apport(pid8618)MonJan2514:35:242016:executable:/usr/sbin/apache2(commandline"/usr/sbin/apache2-kstar

php - 如何修复 XML "Opening and ending tag mismatch error"?

我正在尝试修复包含数千行错误的XML文件:Openingandendingtagmismatcherror我现在正在使用simpleXML来解析这个文件,所以在用这个库解析之前我需要修复XML文件:现在我正在尝试这个解决方案,但这还不够:libxml_use_internal_errors(true);$xml=@simplexml_load_file($temp_name);$errors=libxml_get_errors();foreach($errorsas$error){if(strpos($error->message,'Openingandendingtagmismatc

php - PHP 7 的 self 在什么情况下引用基类?

如前所述onReddit'sLOLPHPsub,PHP7在引用self时可以使用扩展类或基类,而PHP5总是引用扩展类。TryitonlinePHP5string(8)"BarABarC"PHP7string(8)"FooABarC"PHP7的行为尤其令人担忧,因为似乎没有任何简单的规则可以知道self何时引用基类或扩展类。在PHP7中确定self将引用哪个类的规则是什么? 最佳答案 self::应该始终引用它在其中使用的类(注意PHP5的行为也是错误的。)这是一个bug,fixed在7.1.4,这仅适用于类常量内的self::和p

php - 无法 self 更新 Composer ?

我已经使用composer大约一个月了。然后有一天composer向我展示了这条消息:Warning:Thisdevelopmentbuildofcomposerisover30daysold.Itisrecommendedtoupdateitbyrunning"/usr/local/bin/composerself-update"togetthelatestversion.我已经按照文档全局安装了composer。whichcomposer/usr/local/bin/composer运行sudocomposerself-update给我这条信息:/usr/bin/env:php:N

php - 尝试 self 更新 Composer 时权限被拒绝

当我尝试self更新我的Composer时,我收到“权限被拒绝”错误。即使当我使用sudo/usr/bin/composer.pharself-update时,它也会显示commandnotfound。请帮帮我,我对Composer一无所知 最佳答案 尝试以下命令:sudophp/usr/bin/composer.pharself-update确保composer.phar文件存在于“/usr/bin” 关于php-尝试self更新Composer时权限被拒绝,我们在StackOverf

php - 区别 static::class vs get_called_class() 和 __CLASS__ vs get_class() vs self::class

我见过几个线程,人们在其中询问如何在PHP中获取类或对象的名称。但是,我在任何地方都看不到所解释的各种可能性之间的区别。我希望这里有人可以帮助我。所以为了得到被调用类的类名,我知道两种可能:get_called_class()static::class(非静态类的get_class($this))为了获取放置代码的类的类名,我知道这三种可能性:get_class()__CLASS__self::class是否有任何我现在可以忽略的差异?一种方式相对于另一种方式的潜在优势和劣势是什么? 最佳答案 之间的差异get_class()ret

php - Composer 无法 self 更新

当我尝试运行composerself-update时,出现错误:Thefileiscorrupted(creatingarchive"/home/heytherejake/.composer/cache/composer-temp.phar"disabledbythephp.inisettingphar.readonly).Pleasere-runtheself-updatecommandtotryagain.我已将phar.readonly设置为Off(我的phpinfo反射(reflect)了这一点),但错误仍然存​​在。有谁知道还有什么可能导致这种情况?