小编mar*_*osh的帖子

ZF2 - Module.php中请求的模拟服务

我正在尝试测试我的ZF2应用程序的控制器.假设这个控制器在我的A模块中.

在模块的onBootstrap方法中,我使用服务管理器来检索另一个模块的服务,比如说我没有加载.Module.phpAB

如何在服务管理器中设置所请求服务的模拟?请注意,我不能$this->getApplicationServiceLocator()在测试中使用它,因为这已经调用了Module.onBootstrap我的A模块的方法.

要发布一些代码,这就是我现在正在做的事情

bootstrap.php中

namespace Application;

use Zend\Mvc\Service\ServiceManagerConfig;
use Zend\ServiceManager\ServiceManager;
use RuntimeException;

class Bootstrap
{
    protected static $serviceManager;

    public static function init()
    {
        $modulePath = static::findParentPath('module');
        $vendorPath = static::findParentPath('vendor');

        if (is_readable($vendorPath . '/autoload.php')) {
            $loader = include $vendorPath . '/autoload.php';
        } else {
            throw new RuntimeException('Cannot locate autoload.php');
        }

        $config = [
            'modules' => [
                'Application',
            ],
            'module_listener_options' => [
                'module_paths' => [
                    $modulePath,
                    $vendorPath
                ] …
Run Code Online (Sandbox Code Playgroud)

php testing phpunit zend-framework2

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

d3.js - 开始和结束时刻度

我正在d3.js中构建一个区域图.

对于我的y轴,我想使用从图表中表示的数据的最小值到最大值的线性比例.

运用

y = d3.scale.linear().range([height, 0]),
yAxis = d3.svg.axis().scale(y).orient("left")
Run Code Online (Sandbox Code Playgroud)

d3仅显示10000的倍数的刻度.

我还想看到开始和结束值的刻度.这可能吗?怎么样?

javascript d3.js

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

是否有可能迭代非内同态的应用?

在Haskell中,如果我想重复将一个内同态a -> a应用于a我可以使用的类型的值iterate.

那个函数不是一个endomorphisms,但通用到足以在返回类型上正常工作?

考虑一下Just :: a -> Maybe a; 我可以写

Just . Just . Just ...
Run Code Online (Sandbox Code Playgroud)

我想要多次.有没有办法用这样的东西写这个

iterate' 3 Just :: a -> Maybe (Maybe (Maybe a))
Run Code Online (Sandbox Code Playgroud)

或者我们需要像依赖类型这样的东西吗?

haskell template-haskell

14
推荐指数
2
解决办法
218
查看次数

在Twig中检索变量名称

我正在使用Twig模板引擎,我想创建一个过滤器

{{ my_variable|default_variable }}
Run Code Online (Sandbox Code Playgroud)

当变量为空时返回变量的名称(在本例中为字符串"my_variable").这可能吗?如何检索变量的名称而不是其值?

php template-engine twig

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

榆树无限卷轴

我正在Elm中构建一个简单的应用程序,只显示一个在另一个下面的div列表,我想添加无限滚动功能,每次页面的最后一个div出现在视口中时添加新内容.

在Elm中有没有办法知道div何时出现在视口中?作为替代方案,有一种方法可以跟踪鼠标滚动事件作为信号吗?

javascript infinite-scroll elm

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

在数组中创建一个洞

我有一个表格的数组

$array = array(1 => 'a',
               2 => 'b',
               3 => 'c',
               4 => 'd')
Run Code Online (Sandbox Code Playgroud)

我想在2和3之间创建一个'洞',即获得以下数组

$array = array(1 => 'a',
               2 => 'b',
               4 => 'c',
               5 => 'd')
Run Code Online (Sandbox Code Playgroud)

您认为最好的方法是什么?

php arrays

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

榆树中的数据持久性

我刚刚开始考虑使用它构建一个简单的Web应用程序.我的想法是要求在浏览器中保留一些用户数据.

有没有办法直接使用Elm处理数据持久性?例如在浏览器会话甚至本地存储中?或者我应该使用端口来使用JavaScript吗?

elm

11
推荐指数
3
解决办法
2313
查看次数

对递归数据结构施加嵌套限制

考虑如下的递归数据结构:

data Tree level
    = Leaf String
    | Node level [ Tree level ]
Run Code Online (Sandbox Code Playgroud)

现在,如果level是一个实例Ord,我想在类型级别强加数据结构的以下限制:一个节点必须只包含Tree更高的s level.

你可以放心地假设这level是一个简单的和类型

Level
= Level1
| Level2
...
| LevelN
Run Code Online (Sandbox Code Playgroud)

但在哪里N不知道先验.在这种情况下,我可以让节点的所有子节点都具有更高的级别.

例如

tree = Node Level1
    [ Node Level2 []
    , Node Level3 []   
    ]
Run Code Online (Sandbox Code Playgroud)

应该编译,而

tree = Node Level2
    [ Node Level1 []
    ]
Run Code Online (Sandbox Code Playgroud)

不应该.

是否有可能在Haskell中建模这样的东西?

haskell

10
推荐指数
2
解决办法
322
查看次数

PHP - 可调用方法不是数组

通常在PHP中,如果你有一个bar类的方法,Foo并且你想将它作为一个可调用的传递,你可以使用类似的东西

$foo = new Foo();
$callable = [$foo, 'bar'];
Run Code Online (Sandbox Code Playgroud)

这样做的缺点是is_array($callable)评估为true.

是否有另一种可行的方法来传递类方法作为可调用的is_array($callable)返回false

php callable

9
推荐指数
3
解决办法
1823
查看次数

传播异常的异常注释

假设我有一个a抛出异常的函数$e.因此,根据phpdoc我应该有一个@throws关于定义的注释a.

当我有另一个函数b调用a

function b() {
   a();
}
Run Code Online (Sandbox Code Playgroud)

@throwb指示b可能抛出这种异常的定义上有一个注释是好的做法/坏习惯/正确/错误吗?

php exception phpdoc

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