草庐IT

行为不当

全部标签

php - AppKernel.php 奇怪的行为

所以,我正在尝试创建一个新项目,但内核发生了一些我不太了解的事情。每次当我生成新的Bundle并尝试创建Controller或任何东西时,都会出现此错误:PHPFatalerror:UncaughtSymfony\Component\Debug\Exception\ClassNotFoundException:Attemptedtoloadclass"ContactBoxBundle"fromnamespace"ContactBoxBundle".Didyouforgeta"use"statementforanothernamespace?in/var/www/ContactBox/a

php嵌套包含行为

在我的代码中的许多地方,我会做如下事情:file1.php:根据我尝试使用的服务器或设置,它会设置来自“includer”或“includee”的相对路径。这真是令人困惑。所以file1可能会尝试包含“../anotherdirectory/file3.php”或者它可能会尝试包含“anotherdirectory/file3.php”。什么设置决定了这种行为?我想控制这个... 最佳答案 在我需要使用相对路径的情况下,我使用以下语法:include(realpath(dirname(__FILE__)."/another_fold

PHP 闭包给出了奇怪的性能行为

今天早些时候,我正在开发PHP5.3+应用程序,这意味着我可以自由使用PHP闭包。太好了,我想!然后我遇到了一段代码,其中使用函数式PHP代码会使事情变得容易得多,但是,虽然我心中有一个合乎逻辑的答案,但它让我想知道直接调用中的闭包对性能有何影响array_map()并将其作为变量向下传递。IE。以下两个:$test_array=array('test','test','test','test','test');array_map(function($item){return$item;},$test_array);和$test_array=array('test','test','t

php - array_diff_uassoc 的行为不清楚

首先,我需要说明的是,我深入研究了手册和php文档,但没有找到答案。这是我使用的代码:classchomik{public$state='normal';public$name='noname';publicfunction__construct($name){$this->name=$name;}publicfunction__toString(){return$this->name."-".$this->state;}}functioncompare($a,$b){echo("$a:$b");if($a!=$b){return0;}elsereturn1;}$chomik=newc

php - 使用引用 : foreach ($a as &$v) { . 时 foreach 的奇怪行为 ..}

我认为这是一个正常的程序,但这是我得到的输出:Array([0]=>a[1]=>b[2]=>c[3]=>c)谁能给我解释一下吗? 最佳答案 这是有据可查的PHP行为查看warning在php.net的foreach页面上WarningReferenceofa$valueandthelastarrayelementremainevenaftertheforeachloop.Itisrecommendedtodestroyitbyunset().$a=array('a','b','c','d');foreach($aas&$v){}un

php - 奇怪的网站行为 - 具有特定值的 GET 参数导致网站重定向到 403

我有一个运行Joomla!的网站(这不是我的,所以我不知道它是如何构造的)。我遇到了一个非常奇怪的问题:当我使用phpMyAdmin并且我想编辑表格中的条目时-我收到错误403。如果我复制按钮Edit的链接位置并将其放在新选项卡中-我得到相同的结果。通过反复试验,我发现,如果我将where_clauseGET参数的值部分%60id%60替换为其他任何内容(%60foo%60或id,例如)-一切都按预期工作。你有什么想法,什么会导致这种奇怪的行为?为什么是id?为什么这么特别?附言%60代表` 最佳答案 几乎每次我发现这种奇怪的行为时

php - 在 Doctrine 2 (Symfony 2) 中排序具有可排序行为的实体

我创建了一个具有Sortable的实体行为并有一个关于使用它的问题。设置和获取位置的方法对我来说还不够,所以我想做简单的moveUp和moveDown方法,代码如下:publicfunctionmoveUp(){++$this->position;}publicfunctionmoveDown(){if($this->position!=0)--$this->position;}在这个实现中,moveUp方法对于向上已经达到最大位置的项目没有限制。禁止增加此类项目的最佳方法是什么?我听说直接在实体中进行自定义查询不是一个好的做法,那么如何检查项目是否已经具有最大值?

php - undefined index 行为

如果我在PHP中有一个当前为空的数组,访问undefinedindex是否应该出现E_NOTICE级别的错误?如果我有以下代码片段:$myArray=null;echo$myArray['foo']['bar'];我预计会出现错误,但它运行没有问题。我已验证我的日志级别设置为E_ALL。只要您不尝试修改数据,我是否遗漏了什么或者PHP是否乐意为undefinedindex返回null? 最佳答案 是的,undefinedindex只触发非空变量(不要问我为什么)。不过这会触发通知: 关于

php - 从非静态方法触发 __callStatic() 的奇怪行为

我在PHP类(v5.3.8)中发现了这种奇怪的行为。你有:classfoo{function__call($func,$args){if($func=='bar')echo"non-static__call";}staticfunction__callStatic($func,$args){if($func=='bar')echo"__callStatic";}functioncallMe(){self::bar();}}然后你做:foo::bar()//outputs'__callStatic'asexpected.$f=newfoo;$f->callMe();//outputs'n

php - 更改未定义常量的 PHP 行为?

是否有php.ini设置或其他一些技巧来强制PHP在使用未定义的常量时产生fatalerror或类似错误,而不是假设同名字符串的(荒谬的)默认行为?默认行为可能会带来巨大的安全风险,但通常只会导致应用程序错误。我意识到我可以使用defined()在请求值之前检查常量是否存在,但这会导致冗余/难看的代码,并且仍然容易出现开发人员错误。我们非常小心地确保使用的常量被定义,但这个问题仍然偶尔会潜入生产环境,如果可能的话我想阻止它。fatalerror会更多地“出现在您面前”,并且不太可能被QA压榨。 最佳答案 set_error_hand