草庐IT

php - Symfony 编码标准在类型转换后是否需要保留空间?

我在theofficialdocumentation中找不到答案.所以PHP代码嗅探器说它是必需的(编码标准包escapestudios/symfony2-coding-standard)。示例应该是:$result=(bool)foo();反之亦然:$result=(bool)foo(); 最佳答案 是的,itis:如何应用?在CodeSniffer中,您正在寻找PHP_CodeSniffer\Standards\Generic\Sniffs\Formatting\SpaceAfterCastSniff在PHP-CS-Fixer中

php - 部署到 Heroku 时如何保留 session ?

我正在使用PHP制作HerokuFB应用程序,每当我执行gitpush时,我的用户session都会被破坏。为什么会发生这种情况?更重要的是,我该如何防止这种情况发生? 最佳答案 另一个没有提到的选项是使用Memcached来存储session。您可以使用heroku插件Memcachier(https://addons.heroku.com/memcachier)。要配置php以使用memcachedsession处理程序,请查看http://php.net/manual/en/memcached.sessions.php处的扩展

php - 使用 DOMXPath 在 <p> 标签内保留换行符?

我目前正在使用PHP和DOMXPath获取所有的内容网页元素:loadHTML($html);$xpath=newDOMXPath($doc);$paragraphs=$xpath->evaluate("/html/body//p");foreach($paragraphsas$paragraph){echo$paragraph->textContent."";}我的问题是textContent产生的字符串不尊重中存在的标签元素。相反,它删除了换行符并将通常位于不同行上的单词放在一起。例如:示例HTML:Somehappytalkgoesheretalkingaboutourgreat

php - CakePHP 模型名称使用 PHP 保留字

嘿,我已经为很多事情编写了CakePHP代码,但之前从未遇到过这个问题。我还彻底搜索了网络和CakePHP文档,但没有找到我的问题的答案。我的问题是,我的模型有一个表,应该命名为Class,显然我不能使用该名称,因为它是一个保留的PHP关键字。我必须有哪些选项才能适本地引用此模型。到目前为止我已经;将我的类模型文件重命名为player_class.php将我的类模型类重命名为PlayerClass将var$name更改为“PlayerClass”添加到我的类模型类;var$useTable='类';将我的类Controller重命名为player_classes_controller.

php - 是否有可能 "escape"PHP 中的方法名称,以便能够拥有与保留关键字冲突的方法名称?

我在PHP中做MVC,我想在我的Controller中有一个list()方法,以具有URL/entity/list/parent_id,以显示属于该父级的所有“x”.但是,我不能使用名为list()的方法,因为它是PHP保留关键字。例如,在VB.Net中,如果我需要一个名称与保留关键字冲突的名称,我可以将其包装在[reserved_name]中。在SQL中,您可以做同样的事情。在MySQL中,您使用反引号`PHP中是否有一些语法指定“将其视为标识符,而不是关键字”?(注意:我知道我可以在没有list()方法的情况下使用路由来执行此操作。我也可以简单地调用其他操作。问题是PHP是否提供这

php - beanstalkd - 保留但未完成的作业会怎样?

我创建了一个从beanstalkd读取的PHP脚本并处理作业。那里没有问题。我要做的最后一件事就是为它编写一个初始化脚本,这样它就可以作为服务运行。然而,这又给我提出了另一个问题。尝试停止服务时,一种显而易见的方法是尝试终止该进程。但是,如果我这样做,如果PHP脚本处理到一半,作业会怎样?所以作业被保留了,但是脚本从来没有成功或失败(分别删除或埋葬),会发生什么?我的猜测是TTR会过期,然后它会被放回就绪队列吗?还有第二个问题,关于如何更好地管理停止PHP服务的任何提示? 最佳答案 当工作进程(beanstalk客户端)打开与bea

php - 我正在尝试拆分/分解/preg_split 一个字符串,但我想保留分隔符

我正在尝试拆分/分解/preg_split一个字符串,但我想保留分隔符示例:explode('/block/','/block/2/page/2/block/3/page/4');预期结果:array('/block/2/page/2','/block/3/page/4');不确定我是否必须循环然后重新为数组值添加前缀,或者是否有更简洁的方法。我已经用PREG_SPLIT_DELIM_CAPTURE尝试过preg_split()但我得到了一些类似的东西:array('/block/,2/page/2','/block/,3/page/4');这不是我想要的。非常感谢任何帮助。

PHP curl,保留 session

我正在制作一个应用程序,它可以从网站上抓取数据,根据需要对其进行格式化,然后将其显示给用户。现在,该站点不允许跨站点脚本请求,因此我使用PHP的curl来检索页面。使用浏览器时,网站会在您首次访问时给您一个cookie,要求您登录,并在后续请求中为您提供您请求的实际页面。使用PHP的curl,网站只会给我要求我登录的页面。而且,我想,给我的PHP服务器一个cookie。如何保存此cookie并在后续请求中显示它? 最佳答案 使用一些setopts来设置cookie。例子:$ch=curl_init();curl_setopt($ch

PHP 保留字作为命名空间和类名

最近我开始将我的框架转换为使用php命名空间,但我似乎无法找到答案的一个问题是-使用保留字(如“对象”、“数组”)是否“合法”,'String'作为命名空间和该命名空间中的类名?一个例子是:namespaceSystem\Object;classString{}classArray{} 最佳答案 PHP会抛出如下错误:Parseerror:syntaxerror,unexpectedT_ARRAY,expectingT_STRING如果你尝试:classArray{}$myClass=newArray;相反,尝试类似的东西class

php - PHP 是否将 $$ 与 exec() 一起使用,我如何为下一个脚本保留它?

我使用PHPexec()在命令行中包含$$的Bash中启动一个进程。但是,当使用PHP时,PHP本身似乎采用变量$$而不是让Bash在脚本中使用它。PHP是否使用这个变量?假设是这样,我如何为Bash脚本保留它?示例:exec('echo$$')在Bash中执行echo1538,而不是echo$$,因为PHP似乎有取变量$$。 最佳答案 Php不会“获取”$$值,因为它在单引号字符串中。bash将其转换为处理您的echo命令的bash进程的PID。如果你想通过echo命令直接输出两个$,你必须转义它们:exec('echo\\$\\