在我的表单中,我有一些复选框,但默认情况下,我有:
这是SYmfony2生成的html代码:
<div>
<input ...>
<label ...></label>
<input ...>
<label ...></label>
</div>
Run Code Online (Sandbox Code Playgroud)
什么我想是有:
第一无线电窗口小部件的第一个标签
的第二无线电窗口小部件的第二个标签
HTML代码将是:
<label .....><input ....></label>
Run Code Online (Sandbox Code Playgroud)
我想我必须覆盖choice_widget,但不知道如何将输入和标签放在同一行
这是我可能需要覆盖的choice_widget:
{% block choice_widget %}
{% spaceless %}
{% if expanded %}
<div {{ block('widget_container_attributes') }}>
{% for child in form %}
{{ form_widget(child) }} {{ form_label(child) }}
{% endfor %}
</div>
{% else %}
<select {{ block('widget_attributes') }}{% if multiple %} multiple="multiple"{% endif %}>
{% if empty_value is not none %} …Run Code Online (Sandbox Code Playgroud) 我想通过以下软件配置进行远程调试:
Win 7 Pro 64位WAMP Server 2.2(32位)包括.Apache 2.2.22,PHP 5.4.3,XDebug php_xdebug-2.2.1-5.4-vc9.dll JetBrains PHPStorm 4.0.3
1.)WAMP启动并运行,我的站点可以在localhost/fox /下找到
2.)PHP Storm有一个项目,我的源文件和apache别名localhost/fox之间有一个映射
2.)我安装了php扩展XDebug并将以下行添加到我的php.ini中
[xdebug]
zend_extension="c:/wamp/bin/php/php5.4.3/zend_ext/php_xdebug-2.2.1-5.4-vc9.dll"
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_connect_back=On
xdebug.remote_autostart=On
xdebug.profiler_enable=On
xdebug.profiler_enable_trigger=off
xdebug.profiler_output_name=cachegrind.out.%t.%p
xdebug.profiler_output_dir="c:/wamp/tmp"
xdebug.remote_log="C:/wamp/tmp/xdebug.log"
xdebug.remote_cookie_expire_time=6000
Run Code Online (Sandbox Code Playgroud)
这应该配置远程调试XDebug和回调地址.
我在这里检查了我的安装:xdebug.org/wizard.php
3.)我配置了phpstorm,首先我添加了本地服务器
然后在这里检查我的设置
http://www.bilder-hochladen.net/files/jrn0-2-c81e-jpg-nb.html
(我也试过127.0.0.1/fox作为服务器地址,而不是localhost)
我的调试设置:http: //www.bilder-hochladen.net/files/jrn0-1-c4ca-jpg.html
现在我重启我的apache,我进入phpstorm,设置一个断点(它是红色的),点击该功能
Run -> Start listen to PHP Debug Connections
Run Code Online (Sandbox Code Playgroud)
电话接收器正在变成绿色,这究竟是什么意思,但它对我来说是一个正面的信号.
当我现在在本地webserver absolutley上运行我的php脚本没有任何反应时,程序运行在断点上并且不会停止.
在Xdebuggers日志(C:/wamp/tmp/xdebug.log)中,我发现这些消息的负载如下:
I: Checking remote connect back address.
I: Remote address found, connecting to ::1:9000.
E: Could not connect to client. :-(
Log closed at 2012-07-19 14:21:08
Run Code Online (Sandbox Code Playgroud)
在互联网的某个地方,我发现了暗示,Windows防火墙可以阻止通信,所以我把它关闭了完整但但没有帮助. …
我正在使用PHPExcel库来读取Excel文件并对其执行处理.我想遍历每个工作表.我检查了文档,我找到的只是更改活动工作表索引或仅加载指定的工作表.如何遍历所有工作表?
感谢您的任何帮助.
这是文档的循环示例,供参考:
<?php
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load("test.xlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();
echo '<table>' . "\n";
foreach ($objWorksheet->getRowIterator() as $row) {
echo '<tr>' . "\n";
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false); // This loops all cells,
// even if it is not set.
// By default, only cells
// that are set will be
// iterated.
foreach ($cellIterator as $cell) {
echo '<td>' . $cell->getValue() . '</td>' . "\n";
}
echo '</tr>' . "\n";
}
echo '</table>' . "\n";
?>
Run Code Online (Sandbox Code Playgroud) 在Symfony 2文档中,它说:
捆绑包不应嵌入用JavaScript,CSS或任何其他语言编写的第三方库.
那我该怎么做?我想使用Composer安装Twitter Bootstrap,DataTables和许多其他东西作为依赖项.但我能想到的唯一方法是创建一个包并嵌入它们.
这样做的正确方法是什么?
我目前正在使用Zend Framework,我对它非常满意.我想知道的是,使用像Joomla或Drupal这样的CMS更好的是什么样的要求.
考虑到我目前的项目,它是一个门户应用程序.它完全是从Zend开始制作的.然后一些人来评论说它是在drupal中实现的,你可以通过辛苦努力为你建立的东西获得插件.
所以我需要一个如何在启动阶段选择CMS和A Framework的指南?
在PHP中,我们可以mb_check_encoding()用来确定字符串是否是有效的UTF-8.但这不是一个可移植的解决方案,因为它需要编译和启用mbstring扩展.此外,它不会告诉我们哪个字符无效.
是否有正则表达式(或其他100%可移植方法)可以匹配给定字符串中的无效UTF-8字节.这样,如果需要,可以替换这些字节(保留二进制信息,例如在构建包含二进制数据的测试输出xml文件时).因此,将字符转换为UTF-8将丢失信息.所以,我们可能想转换:
"foo" . chr(128) . chr(255)
Run Code Online (Sandbox Code Playgroud)
成
"foo<128><255>"
Run Code Online (Sandbox Code Playgroud)
所以只是"检测"字符串不够好,我们需要能够检测哪些字符无效.
我正在使用predis并且它订阅了一个频道并且正在监听,它会抛出错误并死掉,如下所示,在60秒之后,它肯定不是我的网络服务器错误或它的超时.
目前正在讨论的一个类似的问题在这里.无法得到很多.
我尝试将predis conf文件中的connection_timeout设置为0,但没有多大帮助.
此外,如果我继续使用(向它发送数据并且它处理)工作者它不会给出任何错误.所以它可能在某个地方超时,而且也是连接的.
这是我的代码片段,它可能会产生错误,因为如果将数据提供给worker,它将运行此代码并继续前进,之后不会产生任何错误.
$pubsub = $redis->pubSub();
$pubsub->subscribe($channel1);
foreach ($pubsub as $message) { //doing stuff here and unsubscribing from channel
}
Run Code Online (Sandbox Code Playgroud)
跟踪
PHP Fatal error: Uncaught exception 'Predis\Network\ConnectionException' with message 'Error while reading line from the server' in Predis/Network/ConnectionBase.php:159 Stack trace:
#0 library/vendor/predis/lib/Predis/Network/StreamConnection.php(195): Predis\Network\ConnectionBase->onConnectionError('Error while rea...')
#1 library/vendor/predis/lib/Predis/PubSub/PubSubContext.php(259): Predis\Network\StreamConnection->read()
#2 library/vendor/predis/lib/Predis/PubSub/PubSubContext.php(206): Predis\PubSub\PubSubContext->getValue()
#3 pdf/file.php(16): Predis\PubSub\PubSubContext->current()
#4 {main} thrown in Predis/Network/ConnectionBase.php on line 159
Run Code Online (Sandbox Code Playgroud)
检查了redis.conf超时,它也被禁用了.
这是Javascript中有效的XPath:
id("priceInfo")/div[@class="standardProdPricingGroup"]/span[1]
Run Code Online (Sandbox Code Playgroud)
这变成了有效的PHP XPath,可以与DOMXPath-> query()一起使用
//*[@id="priceInfo"]//div[@class="standardProdPricingGroup"]//span[1]
Run Code Online (Sandbox Code Playgroud)
我主要担心的是可能存在很多差异,我希望找出这些差异,并且我有问题来识别这些差异.
问题也可能以不同的方式提出:由于Javascript可以有不同的有效XPath格式,如何规范化它们以使用PHP.
其中一个更新还提到如果存在包含此定义的有效DTD,则id()函数是有效的XPath.我对输入DTD没有权力,如果有办法找到一个没有任何特定DTD的解决方案,那就太棒了.
更新:
我想用算法将第一种格式转换为第二种格式.我的输入是第一个而不是第二个.无法改变这一点.
正如@NisonMaël指出的那样,第二种格式是有效的Javascript XPath,如下所示:http://jsbin.com/elatum/2/edit这不幸只是增加了Javascript XPath"碎片化"的问题.
@salathe指出,如果记录的输入具有有效的DTD,则有效的Javascript XPath查询在PHP中可以正常工作(@Dimitre Novatchev在评论中提到了这一点,但忽略了重要性).不幸的是我无法控制输入DTD,所以现在我必须研究一种方法来克服这个问题,或者找到一种即使没有有效的DTD也可以工作的解决方案.
我正在创建一个双语网站,并决定使用以下内容session_start来确定页面的语言:
session_start();
if(!isset($_SESSION['language'])){
$_SESSION['language'] = 'English'; //default language
}
Run Code Online (Sandbox Code Playgroud)
这个问题是它与Wordpress冲突,我得到以下内容:
警告:session_start()[function.session-start]:无法发送会话cookie - 已经发送的标头(输出从/home/neurosur/public_html/v2/wp-content/themes/default/header.php:8开始)第13行/home/neurosur/public_html/v2/wp-content/themes/default/region.php
有办法解决这个问题吗?
首先,我不确定这是否是Opera 12.01中的问题,但问题只出现在Opera中.我在Android和iPhone上测试过FF14,Chrome 21,Safari 5(Windows)以及Safari Mac和Webkit浏览器.
我的应用程序运行trigger.io的锻造平台,使用代理从Web应用程序的服务请求路由.代理只是简单地转发请求和cookie,这在大多数浏览器中按预期工作.
在检查了dragonfly中的请求后,我注意到服务器在响应中发送了正确的头文件,但Opera似乎忽略了设置值.我想知道这是否是由于cookie的一些配置错误的路径值.我在Firefox和Opera中添加了2个请求的屏幕截图.
正如您在屏幕中看到的那样,FF会看到cookie标题并对其进行适当设置,但Opera不会.



我没有包含执行请求转发的代理中的代码,因此如果您需要,请告诉我以获得一些见解.在服务端,我正在运行PHP和Codeigniter.如果我需要在我的环境中添加更多信息,请告诉我,谢谢.
更新:即使在我的生产环境中不使用自定义TLD,也会出现此问题.其他使用cookie的网站工作正常,并启用了cookie.