小编Ale*_*lex的帖子

无法在Windows上设置PHPunit与Yii一起使用

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 phpunit yii

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

PHPDoc 中可选的可为空参数

想象一下,我们有一个带有可选的可为空参数(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)

但它看起来并不好看,恕我直言。

你能给我一些反馈,或者更好的是,一些指向相应编码标准/风格指南的链接吗?

php phpdoc phpdocumentor2

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

Drupal 7表单在迁移后不起作用。提交后,表单字段为空

我对Drupal站点进行了完整的迁移(代码和DB)。

乍一看现场工作正常。所有页面和页面内容均完全可用。

但是,所有POST表单均无效。我试图将测试消息形成钩子。表单生成工作正常,但是验证和发送挂钩都没有被调用。

此外,所有标准表单(例如,注册表单)也不起作用。

提交表单后,字段立即为空,没有任何错误或警告。

看起来环境之间的所有差异是:

  1. PHP版本。(从PHP 5.4到PHP 5.5)
  2. 服务器上的不同路径
  3. 另一个域名(开发/暂存)

但是,我不确定。我可能会错过其他东西。

是否有人有什么想法会导致此问题?

php forms drupal drupal-7

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

Stencil.js 呈现插槽内容,如果 render() 返回 null 则事件

我有一个 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 的内容。

我有一种感觉,我不明白渲染是如何与插槽一起工作的。你能给我解释一下吗?如果您知道如何在不以编程方式隐藏插槽内容的情况下解决此问题,我将非常感激。

web-component ionic-framework stenciljs

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

模板对象属性未设置,当它们通过 HTML 字符串提供时

根据文档,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)

但是,它被设置为默认值(空对象)。布尔值和字符串值工作正常。

这是一个错误,还是我忽略了一些东西?

stenciljs stencil-component

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