小编loc*_*inz的帖子

PHPUnit确保特征满足接口

让我们psr/log特别看一下中的代码:

如您所知,特征无法实现接口,因此这两部分需要一个类才能成功连接在一起。

假设我涵盖了特性测试(通过PHPUnit相对容易getMockForTrait)。接下来要测试的是,我想证明该特性满足该接口

在代码方面,它看起来很简单:

public function testThatTraitSatisfiesInterface()
{
    $className = 'test_class_' . uniqid();
    $classCode = sprintf(
        'class %s implements %s { use %s; }',
        $className,
        LoggerAwareInterface::class,
        LoggerAwareTrait::class
    );

    eval($classCode); // ewww :see_no_evil:
    new $className(); // no errors? good, test successful
}
Run Code Online (Sandbox Code Playgroud)

这里有一些问题:

  • 我想eval()尽可能地避免(即使我知道反正是驱动PHPUnit的原因),但是..
  • 如果可能的话,我宁愿使用PHPUnit的功能

因此,最大的问题是,还有其他选择吗?

php testing phpunit interface traits

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

如何用 <amp-img> 标签替换 HTML 中的 <img> 标签?

我想将 HTML 页面转换为 Google AMP 页面,但我遇到了这个问题,其中有很多<img>我想转换为<amp-img>标签。

比如我想转:

<img src='apa.png'><br>
hi bro <img src="c.png'>
Run Code Online (Sandbox Code Playgroud)

变成这样:

<amp-img src="apa.png" width="800" height="684" layout="responsive" alt="AMP"></amp-img><br/>
hi bro <amp-img src="c.png" width="800" height="684" layout="responsive" alt="AMP"></amp-img>
Run Code Online (Sandbox Code Playgroud)

我试图用 PHP 替换这些标签,但没有奏效。

php google-amp

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

如何执行字符串php代码来运行

我得到的字符串响应是"<?php $a=array("10","20"); echo\xc2\xa0$a[0]+a[1]; ?>"

\n\n

如何执行这个字符串。\n我使用 PHP 7.0。

\n\n

请给出任何解决方案。

\n

php

0
推荐指数
1
解决办法
5978
查看次数

如何检查 find 或 findBy 是否返回 Null?

我有两个实体

  • Client
  • Info

具有一对一的单向关系,因为 aClient可以有 none 或 one Info

我正在尝试检查是否Client已经有了Info这个:

$em = $this->getDoctrine()->getManager();

$check = $em->getRepository("MyBundle:Info")>findBy(array(
    'client_id' => $id, 
));
Run Code Online (Sandbox Code Playgroud)

请注意,这$id将是我已经作为参数传递并有权访问的客户端 ID。问题是什么样的数据会$check是这样我可以验证它如下所示:

if ($check ??..) {
    //..do this
} else { 
    //.. do that
}
Run Code Online (Sandbox Code Playgroud)

php symfony doctrine-orm

0
推荐指数
1
解决办法
3231
查看次数

标签 统计

php ×4

doctrine-orm ×1

google-amp ×1

interface ×1

phpunit ×1

symfony ×1

testing ×1

traits ×1