小编kac*_*har的帖子

如何创建ZF3控制台应用程序

在Zend Framework 2中,将初始模块横幅添加到控制台应用程序非常简单.

我们所需要的只是实现getConsoleBannergetConsoleUsage方法并实现Zend\ModuleManager\Feature\ConsoleUsageProviderInterfaceConsoleBannerProviderInterface接口.

这足以public/index.php通过CLI启动时在控制台中转储这些消息.

在Zend Framework 3中,它不一样.

执行相同的设置不会提供相同的结果.实际上在控制台中我们看到骨架应用程序的默认html页面与我们通过浏览器访问它的方式相同.

我们安装自定义模块之前,该网页被看到:这里是相关的文档zend-mvc-console模块 https://zendframework.github.io/zend-mvc-console/intro/

即使按照建议安装模块('Zend\Mvc\Console'在模块定义中添加),也不会显示控制台横幅.我已经在方法中使用var dumping进行了测试,并且我能够查看数据,因此框架执行这些方法但在控制台中没有显示结果.

我已经测试了控制台路由和控制器.找到路径,执行控制器操作但是cli中没有显示任何内容.

我已经挖掘了框架的代码,似乎Zend\Mvc\Console\ResponseSender\ConsoleResponseSender该类永远不会被执行.

我是否必须注册一些view_manager策略才能在CLI中显示某些内容?

以下是zf3骨架应用程序的源代码:https://gist.github.com/kachar/06f0c9096bcc1cc0b00f4612aed1b68b

运行应用程序:

$ php -v
PHP 7.0.6 (cli) (built: Apr 27 2016 14:00:40) ( ZTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

$ php public/index.php
Application\Module::getConsoleBanner
Application\Module::getConsoleUsage

$ php public/index.php user
Application\Controller\IndexController::indexAction
Run Code Online (Sandbox Code Playgroud)

php zend-framework console-application zf3

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

有没有办法在没有 Next.js 国际化路由的情况下使用 next-i18next ?

next-i18next已经在几个项目中使用了 package,而且效果很好。

在我当前的项目中,我需要集成 i18n,但这次只有 cookie 支持,没有国际化路由,我想知道我是否可以用这个包实现这一点,或者我应该返回react-i18nexti18next

样本:

// No cookie or EN cookie
https://app.example.com shows EN version

// Cookie `next-i18n-lang` set to specific language (IT, DE, etc)
https://app.example.com shows translated version
Run Code Online (Sandbox Code Playgroud)

我认为我们不能next/router locale开箱即用,但这作为集成的缺点是可以接受的。

internationalization next.js react-i18next next-i18next

6
推荐指数
0
解决办法
1210
查看次数

如何在过程或触发器中创建 mysql 事件?

最近我一直在寻找解决以下情况的方法:

我有结构的 mysql 表:

CREATE TABLE IF NOT EXISTS `battles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`active` tinyint(1) NOT NULL,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
`begindate` datetime NOT NULL,
`enddate` datetime NOT NULL,
PRIMARY KEY (`id`),
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
Run Code Online (Sandbox Code Playgroud)

每场战斗都有开始日期和结束日期。开始日期是插入的日期时间,通常结束日期是三天后。

我想创建一个 mysql 事件,在战斗结束日期停止战斗(设置活动 = 0)。我希望在战斗表中的插入触发器上创建此事件。

有一个相关问题的答案很少(这里)。

他们建议:

您应该能够使用触发器和事件调度程序来做到这一点:

  • 在每次更新/插入时触发的表上创建一个触发器
  • 此触发器创建在行的日期时间发生的计划事件并更新>您的第二个表

我试图创建这样一个查询,但没有成功。

DELIMITER |
DROP TRIGGER IF EXISTS battle_create_end|
CREATE TRIGGER battle_create_end AFTER INSERT ON battles
  FOR EACH ROW BEGIN

    CREATE EVENT …
Run Code Online (Sandbox Code Playgroud)

mysql events triggers delimiter

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

php通过其中一个值合并两个或多个ArrayIterators

我有两个迭代器,我必须合并到一个结果.

以下是数据样本:

ArrayIterator Object
(
[storage:ArrayIterator:private] => Array
    (
        [0] => Array
            (
                [period] => 04/04/2012 16:00:00
                [bl_subs] => 1
                [bl_unsubs] => 1
                [bl_block_total] => 1
            )

        [1] => Array
            (
                [period] => 04/04/2012 17:00:00
                [bl_subs] => 1
                [bl_unsubs] => 2
                [bl_block_total] => 0
            )

        [2] => Array
            (
                [period] => 04/04/2012 18:00:00
                [bl_subs] => 0
                [bl_unsubs] => 0
                [bl_block_total] => -1
            )

        [3] => Array
            (
                [period] => 04/04/2012 19:00:00
                [bl_subs] => 2
                [bl_unsubs] => 0
                [bl_block_total] => -2 …
Run Code Online (Sandbox Code Playgroud)

php arrays merge iterator

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

如何使用点表示法在 PHP 中展开数组

我有这样的 php 数组结构:

array(
    'servicemanagement.scheduler.events.edit' => 'Edit',
    'servicemanagement.scheduler.events.delete' => 'Delete',
    'servicemanagement.scheduler.events' => 'Events',
    'servicemanagement.scheduler' => 'Scheduler',
    'servicemanagement.subscribers' => 'Subscribers',
    'servicemanagement.subscribers.index' => 'Index',
    'servicemanagement' => 'Service management',
);
Run Code Online (Sandbox Code Playgroud)

我想将其转换为多维数组,例如:

array(
    'servicemanagement' => array(
        'id' => 'servicemanagement',
        'title' => 'Service Management',
        'children' => array(
            'scheduler' => array(
                'id' => 'servicemanagement.scheduler',
                'title' => 'Scheduler',
                'children' => array(
                    'events' => array(
                        'id' => 'servicemanagement.scheduler.events',
                        'title' => 'Events',
                        'children' => array(
                            'edit' => array(
                                'id' => 'servicemanagement.scheduler.events.edit',
                                'title' => 'Edit',
                                'children' => array(),
                            ),
                            'delete' …
Run Code Online (Sandbox Code Playgroud)

php arrays recursion

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