小编ale*_*etr的帖子

PhpStorm找到项目中所有已弃用的用法

我现在正在开发一个非常大的PHP项目,我想将Symfony框架升级到下一个版本.在我这样做之前,我想确保项目中没有弃用的方法用法.

有没有方便的方法在PhpStorm中找到所有弃用的方法用法?

php deprecated phpstorm

49
推荐指数
1
解决办法
2万
查看次数

Doctrine2检查相关实体是否存在

如果数据库中存在相关的实体记录,我真的很想弄清楚如何检查Doctrine 2.请帮帮我.

例如,我有两个实体.一个是某个快递公司的订单状态.另一个是订单.

Order.php

/**
 * @ORM\OneToOne(targetEntity="Application\DeliveryBundle\Entity\DpdOrderStatus", mappedBy="order")
 * @var DpdOrderStatus
 */
$dpdOrderStatus;
Run Code Online (Sandbox Code Playgroud)

DpdOrderStatus.php

/**
 * @ORM\Id
 * @ORM\OneToOne(targetEntity="\Application\FrontendBundle\Entity\Order", inversedBy="dpdOrderStatus")
 * @ORM\JoinColumn(onDelete="CASCADE")
 * @var Order
 */
$order;
Run Code Online (Sandbox Code Playgroud)

订单实体有时没有状态,我需要检查它是否有.

AFAIK如果我将尝试使用is_null($order->getDpdOrderStatus())它将永远是false因为Proxy如果EAGER未指定mode,Doctrine总是为其实体创建对象.

那么检查我的状态实体是否存在于数据库中的最正确方法是什么?

php symfony doctrine-orm

6
推荐指数
1
解决办法
3021
查看次数

PhpStorm,PHPUnit和setcookie

我正在尝试使用一个非常好的IDE PhpStorm中的setcookie()函数进行一些单元测试.但我每次都会收到以下错误:

Cannot modify header information - headers already sent by (output started at /tmp/phpunit.php:418)
Run Code Online (Sandbox Code Playgroud)

可能出现此错误的原因是在setcookie()调用之前使用flush()打印('some text').但是,刷新是在PhpStorm生成的/tmp/phpunit.php文件中执行的.虽然从我的来源调用了setcookie().所以我无法编辑生成的文件来进行某种输出缓冲.还有一些时刻:PhpStorm像这样执行/tmp/phpunit.php脚本:

/usr/bin/php /tmp/phpunit.php -config /var/www/.../protected/tests/phpunit.xml d /var/www/.../protected/tests/unit/user
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题.如何直接从PhpStorm运行单元测试?

php phpunit phpstorm

5
推荐指数
2
解决办法
4992
查看次数

标签 统计

php ×3

phpstorm ×2

deprecated ×1

doctrine-orm ×1

phpunit ×1

symfony ×1