让我们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的原因),但是..因此,最大的问题是,还有其他选择吗?
我想将 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 $a=array("10","20"); echo\xc2\xa0$a[0]+a[1]; ?>"
如何执行这个字符串。\n我使用 PHP 7.0。
\n\n请给出任何解决方案。
\n我有两个实体
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)