草庐IT

static-mt

全部标签

java - java和PHP之间使用static的区别?

在Java中,我读到,staticfunction只能访问staticfunction或staticvariable。我试图找出在PHP和java中使用静态的区别。PHP中是否也有同样的情况?我们可以在PHP中调用静态函数内部的非静态函数吗? 最佳答案 Canwecallnon-staticfunctioninsidethestaticfunction,inPHP?是但不建议。因为$this关键字在静态上下文中不可用。但是,您可以使用static/self关键字来做到这一点,但这会导致严格标准通知Strictstandards:No

php - 是否可以通过 "statically"检查 FQCN 是否属于 PHP 中的给定类型?

如果字符串包含像$fqcn这样的FQCN,则可以静态地(意思是不创建实例)检查:functioncheckCreatingInstance($fqcn){//Createanewinstance$instance=new$fqcn;return($instanceinstanceof'MyNamespace\Entity\SendMessage');}functioncheckStatically($fqcn){/*TODO*/}$fqcn='MyNamespace\Entity\SendSmallTextMessage';var_dump(checkCreatingInstance(

php - 在 fork 的 child 上调用 rand/mt_rand 会产生相同的结果

我正在编写一个需要在PHP中执行并发任务的脚本。我进行了一些测试并遇到了奇怪的结果。我正在使用pcntl_fork生成一个child。父进程只等待子进程完成。我正在生成5个child,每个child运行一个生成随机数(秒数)的函数并休眠那么长时间。出于某种原因-所有child都生成相同的数字。这是一个代码示例:private$_child_count=0;privatefunction_fork_and_exec($func){$cid=++$this->_child_count;$pid=pcntl_fork();if($pid){//parentreturn$pid;}else{/

PhpStorm - 如何检测 PHP 错误 "Non-static method should not be called statically"?

在PHP中,静态方法既可以在静态方法中使用,也可以在非静态方法中使用,非静态方法只能在非静态方法中使用。这就是静态调用动态方法会生成E_STRICT错误的原因。例如:bar();//Staticcallonanon-staticmethod//PHPError"Strictstandards:Non-staticmethodshouldnotbecalledstatically"//ERRORNOTDETECTEDBYPHPSTORM!echoExample::foo();最后一行将生成此PHP错误(这是逻辑):我目前正在开发一个大型PHP应用程序,该应用程序在某些PHP文件中静态调用

父类不能在静态上下文中使用 PHP const/static 变量

出于某种原因(哪个?),子类中定义的PHP常量/静态变量在父类的静态上下文中不可用。为什么?示例1:classModel{functiongetAll(){$query="SELECT*FROM".self::DATABASE_TABLE_NAME;//...}}classPostextendsModel{constDATABASE_TABLE_NAME='post';}$p=Post::getAll();当我运行时,我得到:Fatalerror:Undefinedclassconstant'DATABASE_TABLE_NAME'online3($query=...的行)示例2:cl

php - "static::function()"是什么意思?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:static::staticFunctionName()将关键字static放在函数调用之前意味着什么?代替类名。像这样:static::createKernel();

php - 用PHP学习OO编码,static != 表达式,但是PHP手册上说凡是有值的都是表达式,一头雾水

几天前我开始学习面向对象,我对过程编码还算可以,但显然这还不够,我想成为一个有很多经验和知识的精通编码器,所以首先要完全学习必须是OO,然后是我认为正确的设计模式。无论如何,有一件事我卡住了,我不太明白......静态变量...我知道静态变量不会丢失它的值,即使包含的函数已完成执行,并且如果再次执行相同的函数将保持它的值,等等。但我不明白的是,您现在究竟可以将什么分配给静态变量?关于stackoverflow状态的手册和无数问题您不能将表达式分配给静态变量。所以我阅读了PHP手册,以找出究竟什么才算是表达式?手册答案是(我引用):“在PHP中,您编写的几乎所有内容都是表达式。定义表达式

php - suhosin.mt_srand.ignore 在 PHP 中持续随机排列数组的解决方法?

我有一个PHP脚本,它需要随机化一个具有一致结果的数组,因此它可以向用户显示前几项,然后他们可以根据需要从相同的随机集合中提取更多结果。我目前使用的是这个(我相信基于FisherYates算法):functionshuffle(&$array,$seed){mt_srand($seed);for($a=count($array)-1;$a>0;$a--){$b=mt_rand(0,$a);$temp=$array[$a];$array[$a]=$array[$b];$array[$b]=$temp;}}这在我的本地安装上运行良好,但它需要运行的服务器安装了Suhosin,它覆盖了mt_

PHP 5.5 : accessing a static class member of a dynamic class stored in an object

我们假设如下:classa{publicstatic$foo='bar';}classb{public$classname='a';}$b=newb();是否可以通过某种方式(大括号等)直接访问$foo而不会生成“意外的::(T_PAAMAYIM_NEKUDOTAYIM)”:$b->classname::$foo//shouldresultin"bar"notinan"unexpected::(T_PAAMAYIM_NEKUDOTAYIM)"我知道并使用以下解决方法:$c=$b->classname;$c::$foo;但我想知道是否存在另一种直接访问$foo的好方法。

php - 引用 const 变量时 $this 或 self 或 static 哪个最好?

我了解到static比self好,因为self进行后期静态绑定(bind)。但我想知道哪种方法最适合引用const变量。classBlack{constcolor='black';publicfunctionbyThis(){return$this::color;}publicfunctionbySelf(){returnself::color;}publicfunctionbyStatic(){returnstatic::color;}}我检查了所有三个getter都工作正常。哪个是最好的选择?(我使用的是PHP7.0) 最佳答案