首先要做的事情是:我的Phars确实在运行.我正在玩一点,我有以下情况:
我想把lib-phar放到application-phar中.并且只需要应用程序.因此,application-phar的bootstrap(stub)从lib-phar加载bootstrap.
这是我提出的最好的资源介绍:http: //www.slideboom.com/presentations/26182/PHP-5.3-Part-3---Introducing-PHAR
我有以下内容:
$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) 我需要一点帮助来理解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) 我已阅读:https : //symfony.com/doc/master/bundles/DoctrineMigrationsBundle/index.html
我很好奇: doctrine:migrations:rollup。我知道它的作用(删除我的迁移,用当前数据库的整个转储创建一个)。
但我不明白如何在生产中使用它:
当我在本地开发中汇总时,将其推送到我的 CD-Pipeline 中,它会在生产中失败,对吗?因为转储将在已经进行的迁移之上执行。
我是否必须手动删除所有迁移版本,并将“卷起”-dump-migration 标记为在生产中完成?
asynchronous ×1
doctrine-orm ×1
installation ×1
phar ×1
php ×1
php-5.3 ×1
qunit ×1
teardown ×1