Php Phinx-将参数传递给模板的自定义迁移模板
我已经创建了一个存根/模板文件,用于创建迁移Php Phinx-将参数传递给模板的自定义迁移模板,php,symfony,cakephp,console-application,phinx,Php,Symfony,Cakephp,Console Application,Phinx,我已经创建了一个存根/模板文件,用于创建迁移 <?php use Phinx\Migration\AbstractMigration; class DummyTableMigration extends AbstractMigration { public function up() { // Create the table $table = $this->table('table_name'); $table-
<?php
use Phinx\Migration\AbstractMigration;
class DummyTableMigration extends AbstractMigration
{
public function up()
{
// Create the table
$table = $this->table('table_name');
$table->addColumn('column_name', 'string', ['limit' => 255])
->create();
}
public function down()
{
$this->table('table_name')->drop()->save();
}
}
检查默认模板,它使用PHP样式变量作为类名和其他各个方面:
您是否尝试过使用模板标记,例如在cakephp/migrations/src/template/Bake/config/skeleton.ctp
中?是的,我已经在变量中看到了这一点,我只是不确定如何在ArrayInput@ltdev那么您问题中的DummyTableMigration
类不是您的模板?$className
变量内容是从name
输入选项获得的,因此您只需将其传递到数组选项中,如'name'=>'TheClassName'
。如果您想从某个地方动态地获取,那么您需要详细说明这一点。
$phinx = new PhinxApplication();
$input = new ArrayInput([
'command' => 'create',
'name' => $input->getArgument('name'),
'-c' => './config/phinx.php',
'-t' => '../../Console/stubs/migrations/customTemplateMigration.stub'),
]);
return $phinx->find('create')->run($input, $output);