| | 357 | Doctrineは既存のデータベースやYAMLスキーマファイルからからモデルを生成することができます。既存のデータベースからモデルを生成する方法は [doc getting-started:既存のデータベースと連携する :index :name] の節で紹介しました。 |
| | 358 | |
| | 359 | 以下がYAMLスキーマファイルからモデルを生成している例です: |
| | 360 | |
| | 361 | schema_files/user.yml ファイルを作り、以下のyamlを記述します |
| | 362 | <code type="yaml"> |
| | 363 | --- |
| | 364 | User: |
| | 365 | columns: |
| | 366 | username: string(255) |
| | 367 | password: string(255) |
| | 368 | </code> |
| | 369 | |
| | 370 | そしてDoctrine_Recordの定義を生成する小さなスクリプトを使います |
| | 371 | <code type="php"> |
| | 372 | require_once('/path/to/Doctrine.php'); |
| | 373 | spl_autoload_register(array('Doctrine', 'autoload')); |
| | 374 | |
| | 375 | Doctrine::generateModelsFromYaml('/path/to/schema_files/', '/path/to/generate/models'); |
| | 376 | </code> |
| | 377 | |
| | 378 | そして models/User.php と models/generated/BaseUser.php ファイルが保存されます。User.phpにカスタムコードを入れるためのもので、一度だけ生成されます。そしてBaseUser.phpはgenerateModelsFromYaml() が呼ばれる度に生成されます。 |
| | 379 | |