当我使用PhpStorm和xdebug调试php时,我已经搜索了很多这个问题,我发现有3或4个链接讨论这个问题,但没有一个是有用的.我的Xdebug的版本是2.2.3,而PhpStorm'version是6.03.我可以逐步调试每一行,除了这一行
$this->link = mysql_connect($this->dbserver, $this->dbuser, $this->dbpass);
Run Code Online (Sandbox Code Playgroud)
PhpStorm显示此错误:等待与ide键"14841"的传入连接.这是我的xdebug配置:
zend_extension="/usr/lib/xdebug.so"
xdebug.remote_autostart=1
xdebug.show_local_vars=1
xdebug.dump.GET=*
xdebug.dump.POST=*
xdebug.dump.SERVER=*
xdebug.auto_trace=On
; default trace output directory /tmp
xdebug.collect_vars = On
xdebug.trace_output_dir=/tmp
xdebug.collect_params=4
xdebug.collect_return=On
xdebug.profiler_enable=Off
; default trace output directory /tmp
;xdebug.profiler_output_dir=/tmp
;xdebug.profiler_enable_trigger=On
;test.php?XDEBUG_PROFILE
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9001
xdebug.remote_handler="dbgp"
xdebug.remote_log = "/tmp"
xdebug.remote_connect_back=1
xdebug.idekey=PHPStorm
Run Code Online (Sandbox Code Playgroud)
我添加这些行"xdebug.remote_connect_back = 1 xdebug.idekey = PHPStorm",也抵制ide,它仍然是相同的我保证三个参数是正确的.
我找到的唯一方法是在表单类型的buildForm方法中添加模型转换器,如下面的代码:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$transformer = new IssueToNumberTransformer($entityManager);
$builder->add(
$builder->create('issue', 'text')->addModelTransformer($transformer)
);
}
Run Code Online (Sandbox Code Playgroud)
但是我有一个表单字段,当另一个表单字段具有有效值时显示,所以我宁愿在FormEvent::PRE_SET_DATA事件中创建表单字段.
->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) use ($builder) {
/** @var $order \VMSP\OrderBundle\Entity\OrderInterface */
$order = $event->getData();
$form = $event->getForm();
/** @var $serviceType \VMSP\StoreBundle\Entity\ServiceType */
$serviceType = $order->getServiceType();
//only home service needs user's address
if ($serviceType && $serviceType->getType() == ServiceType::TYPE_HOME_SERVICE) {
//won't work
$form->add(
$builder->create('address','hidden')
->addModelTransformer($this->addressTransformer),
array(
'label' => 'vmsp_order.contact.form.address',
)
);
}
}
Run Code Online (Sandbox Code Playgroud)
有人建议
$form->add(
$builder->create('address', 'hidden')
->addModelTransformer($this->addressTransformer),
array( 'label' …Run Code Online (Sandbox Code Playgroud)