私はORMの世界で初めてで、zctプロジェクトとdoctrine 2を統合しました。私は教義の文書やさまざまな記事を読んでそれを統合しました:)doctrine 2の既存のデータベースからxmlまたはyamlマッパーを自動的に生成する方法はありますが、cliは使用しません。
私はマッパーとエンティティを生成するための既存のDBを持っています。私は既定の注釈の代わりにXML/YAMLマッパーを使用するつもりです。
私はどこでも見るすべてのCLI「(教義公式ドキュメントで提供)doctrine.php」binディレクトリに以下のコマンドを実行して、マッパーとエンティティを生成するコマンドされたファイルが存在します。
*php doctrine orm:convert-mapping --from-database xml /path/to/mappers*
は、エンティティ/モデルクラスを生成するには:
はマッパーを生成するには
*./doctrine orm:generate-entities /path/to/models/or/entities*
しかし、私はコマンドを実行し、マッパー/エンティティを生成したいいけません。私はそれを私のために行うPHPスクリプトを探しています(、コントローラのアクションメソッドを呼び出すことによって:Exdo:www.doctrineproj.com/admin/mdoels/autogenerate/)。
CLIスクリプトを実行する代わりに、APIクラスまたはphpコードでこれを行う方法がありますか。エンティティを生成するにはdoctrine_core :: generateMappers(DBPARAMS、mapperDriver)
:doctrine_core :: generateEntities(メタデータ)
OR
はマッパーを生成したいとを呼び出すことによって行うことができます
は、呼び出しのようなシステムを使ってPHPスクリプトファイルからすべてのCLIコマンドを実行する方法はありますか?
上記のcliコマンドを使用してexec()とsystem()を試してみました。しかし、それは:(うまく機能していません。
ここに私のアクションメソッドから、私はマッパを生成するために使用されるコード
パブリック関数autogenerateAction(){
$result = array();
//change the current working DIR to bin
$cliPath = "cd ". APPLICATION_PATH . "/bin";
exec($cliPath,$result);
//construct the CMD to generate the XML files from the DB tables
$mapperDir = APPLICATION_PATH. "/models/entities/xml-mapper/";
$mapperType = "xml";
$generateMappersCmd = "php doctrine orm:convert-mapping --from-database " . $mapperType . ' ' . $mapperDir ;
//execute the CMD
$result = system($generateMappersCmd);
}
ですしかし、上記のコードでは、目的のディレクトリにマッパーを作成していません。
マッパーとエンティティを自動生成する最適なソリューションを教えてくださいDBは自動化されたPHPスクリプトを使用しています。
お探しの方には最適です。
おかげラジ