jjzjj

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 - 烦人的 PHP 错误 : "Strict Standards: Only variables should be passed by reference in"

我制作了这个小脚本,但我无法得到这个错误:严格的标准:只有变量应该在C:\xampp\htdocs\includes\class.IncludeFile.php中第34行通过引用传递!这是页面:namespaceCustoMS;if(!defined('BASE')){exit;}classIncludeFile{private$file;private$rule;function__Construct($file){$this->file=$file;$ext=$this->Extention();switch($ext){case'js':$this->rule='file.'">

php - 类型提示 : method should accept any $arg that is an object

我有一个“集合”类,它有一个添加方法。add方法应该只接受对象。所以这是期望的行为:$x=5;//arbitrarynon-object$obj=newFoo;//arbitraryobject$collection=newCollection;$collection->add($obj);//shouldbeacceptablearg,nomattertheactualclass$collection->add($x);//shouldthrowanerrorbecause$xisnotanobject根据PHP手册,可以通过在$arg前面加上类名来键入提示方法。因为所有PHP类都是

php - 结束( explode )严格标准 : Only variables should be passed by reference in

我有这段代码来获取文件的扩展名:$extension=end(explode(".",$_FILES["rfile"]["name"]));这在本地主机上工作正常,但是当我上传在线托管时,它给了我这个错误:StrictStandards:Onlyvariablesshouldbepassedbyreferencein... 最佳答案 为什么不使用pathinfo(PHP>=4.0.3),即:$ext=pathinfo($_FILES["rfile"]["name"])['extension'];现场PHP演示http://ideon

php/mysqli : should I free_result before I return?

Ifcalledfromwithinafunction,thereturnstatementimmediatelyendsexecutionofthecurrentfunction,andreturnsitsargumentasthevalueofthefunctioncall.引自php手册:http://php.net/manual/en/function.return.php所以如果我要编写这个函数:publicfunctioncheck_db_for_desired_value(){//...connecttodb,preparestmt,etc.while(mysqli_st

php - Zend 框架 : Setting decorators and labels - should this be done in the view or the form class?

我注意到许多(大多数?)人在使用ZendFramework时会在Form类本身中添加装饰器和标签。classUser_Form_AddextendsZend_Form{publicfunctioninit(){parent::init();$username=newZend_Form_Element_Text('username');$username->setLabel('Username:')->setRequired(true)->addFilter('StringTrim')->addValidator('StringLength',$breakChainOnFailure=f

PHP OOP 设计模式 : Should I Create two separate classes for registration and form validation?

我有两种类型的注册,注册A和注册B,每种都会有一些相同的字段和一些不同的字段。我打算创建抽象类注册,A和B都会有自己的类,这些类从注册中扩展。我是否应该创建一个单独的验证类,其中包含单独的扩展验证类A和B?或者是否有更好的模式可用于此类情况? 最佳答案 是的,我会将注册和验证作为单独的实体。编辑另外,thisSOquestion可能包含一些对您有值(value)的信息。 关于PHPOOP设计模式:ShouldICreatetwoseparateclassesforregistration

wordpress - 错误 : Only variable references should be returned by reference in wp-includes/post.

当我在WordPress设置中启用PHP错误报告时,我不断收到此错误。注意:在3394行的/Users/admin/Sites/wp-includes/post.php中,只应通过引用返回变量引用我觉得它与分类法及其层次设置有关。现在在我正在编写的插件中一直试图追踪它。这些是WPCore中的实际代码行,返回在准确的行上。//Makesuretheposttypeishierarchical$hierarchical_post_types=get_post_types(array('hierarchical'=>true));if(!in_array($post_type,$hierar

基于 PHP Memcache(d) 的 session : Should garbage collection be disabled?

当使用peclmemcached(或者我猜是memcache..)扩展时,是否应该通过将概率设置为0来禁用php的session垃圾收集(例如:session.gc_probability/session.gc_divisor)?由于以下原因,这似乎是合乎逻辑的:A)session过期时间很可能只是通过在存储的key上设置过期时间来简单地存储。EG:每个session都有其到期ttl,并在到期时被memcached简单地清除。B)要清除尚未被memcached本身清除的现有session,memcached扩展必须对存储在memcache守护进程中的所有数据进行完整转储,检查每个键以查

php - 错误 :should not be called statically, 假设 $this 来自不兼容的上下文。只在我的机器上

我的团队成员在Controller中静态编写了模型函数调用,例如:$data=ModelName::functionName($param);虽然它应该被动态调用,例如:$model=newModel();$data=$model->functionName($param);大多数情况下,所有调用都是静态进行的。该代码在服务器和除我之外的本地计算机上运行。如果不重写庞大的代码库,静态调用太多无法修复。我总是通过composer更新我的项目。我的php版本是5.4。有人可能知道这是关于什么的吗? 最佳答案 您可能在运行PHP时报告了E