小编psc*_*eit的帖子

是否可以将phar放入phar?

首先要做的事情是:我的Phars确实在运行.我正在玩一点,我有以下情况:

  • 应用程序的Phar(没有任何不规则的)(application-phar)
  • 第二个phar,例如图书馆.(LIB-药业股份)

我想把lib-phar放到application-phar中.并且只需要应用程序.因此,application-phar的bootstrap(stub)从lib-phar加载bootstrap.

这是我提出的最好的资源介绍:http: //www.slideboom.com/presentations/26182/PHP-5.3-Part-3---Introducing-PHAR

我有以下内容:

LIB-药业

$innerPharFile = $this->newFile('lib.phar');
$innerPhar = new Phar((string) $innerPharFile);
$innerPhar->addFromString('index.php', '<?php echo "  inner index loaded"; ?>');
$innerPhar->setStub(file_get_contents('inner_stub.php'));
Run Code Online (Sandbox Code Playgroud)

内存根

<?php
echo "  inner stub loaded\n\n";

// Here is the problem: how do i execute index.php from inner, here?
var_dump(Phar::running (TRUE));

echo "\n";
__HALT_COMPILER();
?>
Run Code Online (Sandbox Code Playgroud)

应用药业

$pharFile = $this->newFile('application.phar');
$phar = new Phar((string) $pharFile);
$phar->addFile($innerPharFile,'lib.phar');
$phar->addFromString('index.php', '<?php echo "outer index loaded"; ?>');
$phar->setStub(file_get_contents('outer-stub.php'));
Run Code Online (Sandbox Code Playgroud)

外存根

<?php
echo "outer stub loaded\n";

$inner_phar = 'phar://'.__FILE__.'/lib.phar'; …
Run Code Online (Sandbox Code Playgroud)

php phar php-5.3

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

QUnit异步测试与设置和拆解

我需要一点帮助来理解QUnit internas.我不时阅读它的来源,但在异步测试方面,我仍在编写奇怪的测试.我理解异步测试的概念,以及stop()和start()方法(以及为什么需要它们),但是当我将它们与setup和teardown结合起来时,我会遇到很多情况.

这是我的测试代码:

use(['Psc.Exception','Psc.Code'], function () {
  module("async", {
    setup: function () {
      console.log('setup');
    }, teardown: function () {
      console.log('teardown');
    }
  });

  asyncTest("test1", function () {
    expect(0);

    console.log('test1');
    start();
  });

  asyncTest("test2", function () {
    expect(0);

     console.log('test2');
     start();
  });

  asyncTest("test3", function () {
    expect(0);

    console.log('test3');
    start();
  });

  asyncTest("test4", function () {
    expect(0);

    console.log('test4');
    start();
  });

  asyncTest("test5", function () {
    expect(0);

    console.log('test5');
    start();
  });
});
Run Code Online (Sandbox Code Playgroud)

虽然这些都是异步测试,我想我会在控制台中得到这样的东西:

setup
test1
teardown
setup
test2
teardown
setup
test3
teardown
...
Run Code Online (Sandbox Code Playgroud)

因为我认为qunit会在测试车身周围调用设置和拆卸?

但是我把所有事情搞混了,从请求到另一种方式请求改组.

setup
test1
teardown
setup …
Run Code Online (Sandbox Code Playgroud)

installation asynchronous qunit teardown

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

如何在生产服务器上使用学说迁移汇总功能?

我已阅读:https : //symfony.com/doc/master/bundles/DoctrineMigrationsBundle/index.html

我很好奇: doctrine:migrations:rollup。我知道它的作用(删除我的迁移,用当前数据库的整个转储创建一个)。

但我不明白如何在生产中使用它:

当我在本地开发中汇总时,将其推送到我的 CD-Pipeline 中,它会在生产中失败,对吗?因为转储将在已经进行的迁移之上执行。

我是否必须手动删除所有迁移版本并将“卷起”-dump-migration 标记为在生产中完成?

doctrine-orm doctrine-migrations

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