2017-12-23 34 views
0

テンプレートを使用してファイルを作成する必要があります。作成されたファイルは、必要がありますので、私は次のようなテンプレートを作成し< \ PHPの文字列で始まる:Codeigniterの<?php文字列でファイルを書き込む

<?php defined('BASEPATH') OR exit('No direct script access allowed'); 
class Migration_<?php echo $class_name; ?> extends CI_Migration { 

    public function __construct() 
    { 
     parent::__construct(); 
    } 

    public function up() { 
     $this->myforge->add_field(array(
      'id' => array(
       'type' => 'INT', 
       'constraint' => 11, 
       'auto_increment' => TRUE 
      ) 
     )); 
     $this->myforge->add_key('id', TRUE); 
     $this->myforge->create_table('<?php echo $table_name; ?>'); 
    } 

    public function down() { 
     $this->myforge->drop_table('<?php echo $table_name; ?>'); 
    } 

} 

$のCLASS_NAMEおよび$ table_nameの変数はCodeIgniterのコントローラによって正しく解析されますが、私は書くことができないんだけどさ?最初の行が正しく表示されます。

ファイルを作成するために、コントローラのコードは次のようになります。この問題を解決する必要があり、以下に、あなたのビュー・テンプレート・ファイルを変更する任意のヘルプ

答えて

1

ため

$my_migration = fopen($path, "w") or die("Unable to create migration file!"); 
$templatedata['table_name'] = $table_name; 
$templatedata['class_name'] = $class_name; 
$migration_template = $this->load->view('adm/migration/templates/create_table_template.tpl.php',$templatedata,TRUE); 
fwrite($my_migration, $migration_template); 
fclose($my_migration); 

感謝。

<?php 
echo 
"<?php defined('BASEPATH') OR exit('No direct script access allowed'); 
class Migration_$class_name extends CI_Migration { 

    public function __construct() 
    { 
     parent::__construct(); 
    } 

    public function up() { 
     \$this->myforge->add_field(array(
      'id' => array(
       'type' => 'INT', 
       'constraint' => 11, 
       'auto_increment' => TRUE 
      ) 
     )); 
     \$this->myforge->add_key('id', TRUE); 
     \$this->myforge->create_table('$table_name'); 
    } 

    public function down() { 
     \$this->myforge->drop_table('$table_name'); 
    } 

} 
"; 

私は文字列に全体のコンテンツを変換した、変数はPHPで展開されますので、コンテンツ内のecho文を削除し、最終的に展開される必要がない\$thisので、使用して$thisを免れました。

+0

@フェデリコもしあなたが答えを受け入れる必要がある場合 – user4419336

関連する問題