PHPUnit对其他项目有效,但是当我尝试运行Yii测试时,我收到以下警告(即使是空测试):
有1次失败:
1)警告
警告:include(PHP_Invoker.php):无法打开流:C:\ Users\pumpkin\Documents\GitHub\arhano\codebase\arhanoii\vendor\yiisoft\yii\framework\YiiBase.php中没有此类文件或目录423
警告:include():无法打开包含的'PHP_Invoker.php'(include_path ='.; C:\ Users\pumpkin\Documents\GitHub\arhano\codebase\arhanoii\componen ts; C:\ Users\pumpkin\Documents\GitHub\arhano\codebase\arhanoii\models; C:\ xampp\php\PEAR')在C:\ Users\pumpkin\Documents\GitHub\arhano\codebase\arhanoii\vendor\yiisoft\yii\framework\YiiBase.php on第423行
看起来我必须安装phpunit/PHP_Invoker,但这是不可能的,因为它需要pcntl PHP扩展,在Win上不是avilabe.
你知道怎么静音这个警告吗?是否可以在不使用PHP_Invoker的情况下在Windows上运行Yii测试?
想象一下,我们有一个带有可选的可为空参数(PHP 7.0)的方法,如下例所示:
/**
* @param Type1 $foo
* @param Type2 $bar
*/
function myFunction(Type1 $foo, Type2 $bar = null)
{
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,PHPDoc 文档并不清楚,将第二个参数标记为可选和可为空的正确方法是什么。
通常我使用“Type2|null”表示法:
/**
* @param Type1 $foo
* @param Type2|null $bar
*/
function myFunction(Type1 $foo, Type2 $bar = null)
{
}
Run Code Online (Sandbox Code Playgroud)
实际上这是我更喜欢的方式,因为它明确描述了所有可能的类型。但是我从文档中听到了不明显的抱怨,无论参数是否可选。
我知道,像接缝一样,非官方约定“(可选)”
/**
* @param Type1 $foo
* @param Type2 $bar (optional)
*/
function myFunction(Type1 $foo, Type2 $bar = null)
{
}
Run Code Online (Sandbox Code Playgroud)
我不喜欢这种方法,因为从技术上讲,您可以明确提供 NULL 作为第二个参数。从phpdoc中不清楚。
一般来说,我什至可以一起使用它们:
* @param Type2|null $bar (optional)
Run Code Online (Sandbox Code Playgroud)
但它看起来并不好看,恕我直言。
你能给我一些反馈,或者更好的是,一些指向相应编码标准/风格指南的链接吗?
我对Drupal站点进行了完整的迁移(代码和DB)。
乍一看现场工作正常。所有页面和页面内容均完全可用。
但是,所有POST表单均无效。我试图将测试消息形成钩子。表单生成工作正常,但是验证和发送挂钩都没有被调用。
此外,所有标准表单(例如,注册表单)也不起作用。
提交表单后,字段立即为空,没有任何错误或警告。
看起来环境之间的所有差异是:
但是,我不确定。我可能会错过其他东西。
是否有人有什么想法会导致此问题?
我有一个 Stencil.JS 组件:
import {Component, Prop, h} from '@stencil/core';
@Component({
tag: 'my-comp',
styleUrl: 'my-comp.css',
// shadow: true
})
export class MyComp {
@Prop() active: boolean = false;
render() {
return this.active ? <div>
<slot></slot>
</div> : null;
}
}
Run Code Online (Sandbox Code Playgroud)
当我以这种方式使用组件时,我希望插槽的内容不会呈现:
<my-comp>
<p>I'm hidden!</p>
</my-comp>
Run Code Online (Sandbox Code Playgroud)
而且,实际上它按预期工作,当“阴影”在组件装饰器中设置为 true 时。但是,当禁用 shadow DOM 时,无论 this.active 的值如何,组件都会显示 slot 的内容。
我有一种感觉,我不明白渲染是如何与插槽一起工作的。你能给我解释一下吗?如果您知道如何在不以编程方式隐藏插槽内容的情况下解决此问题,我将非常感激。
根据文档,Stencil 组件的属性 myProperty
@Prop({attribute: "my-prop"})
public myProperty?: object = {};
Run Code Online (Sandbox Code Playgroud)
应使用此 HTML 代码进行设置:
<my-component my-prop="{hello: 'world'}" ></my-component>
Run Code Online (Sandbox Code Playgroud)
但是,它被设置为默认值(空对象)。布尔值和字符串值工作正常。
这是一个错误,还是我忽略了一些东西?