Appendix B - Custom Installer Example
The following PHP code is a custom installer used in Chapter 06:
<?php $this->logSection('install', 'default to sqlite'); $this->runTask('configure:database', sprintf("'sqlite:%s/database.db'", sfConfig::get('sf_data_dir'))); $this->logSection('install', 'create an application'); $this->runTask('generate:app', 'frontend'); $this->setConfiguration($this->createConfiguration('frontend', 'dev')); $this->logSection('install', 'publish assets'); $this->runTask('plugin:publish-assets'); if (file_exists($dir = sfConfig::get('sf_symfony_lib_dir').'/../data')) { $this->installDir($dir); } $this->logSection('install', 'create the database schema'); file_put_contents(sfConfig::get('sf_config_dir').'/doctrine/schema.yml', <<<EOF Product: columns: name: { type: string(255), notnull: true } price: { type: decimal, notnull: true } ProductPhoto: columns: product_id: { type: integer } filename: { type: string(255) } caption: { type: string(255), notnull: true } relations: Product: alias: Product foreignType: many foreignAlias: Photos onDelete: cascade EOF ); $this->logSection('install', 'add some fixtures'); file_put_contents(sfConfig::get('sf_data_dir').'/fixtures/fixtures.yml', <<<EOF Product: product_1: name: Product Name price: 25.95 EOF ); $this->logSection('install', 'build the model'); $this->runTask('doctrine:build', '--all --and-load --no-confirmation'); $this->logSection('install', 'create a simple CRUD module'); $this->runTask('doctrine:generate-module', 'frontend product Product --non-verbose-templates'); $this->logSection('install', 'fix sqlite database permissions'); chmod(sfConfig::get('sf_data_dir'), 0777); chmod(sfConfig::get('sf_data_dir').'/database.db', 0777);
インデックス
Document Index
関連ページリスト
Related Pages
Introduction
Advanced Routing
Enhance your Productivity
Emails
Custom Widgets and Validators
Advanced Forms
Extending the Web Debug Toolbar
Advanced Doctrine Usage
Taking Advantage of Doctrine Table Inheritance
Symfony Internals
Windows and symfony
Developing for Facebook
Leveraging the Power of the Command Line
Playing with symfony's Config Cache
Working with the symfony Community
Appendix A - JavaScript code for sfWidgetFormGMapAddress
About the Authors
Appendix B - Custom Installer Example
Appendix C - License

日本語ドキュメント
Japanese Documents
2011/01/18 Chapter 17 - Extending Symfony
2011/01/18 The generator.yml Configuration File
2011/01/18 Les tâches
2011/01/18 Emails
2010/11/26 blogチュートリアル(8) ビューの作成

