Kris Wallsmith 29360a0eea Removed old resources array property from DI extension classes. 14 年之前
..
Command f79e23ffb5 Removed all those spaces after @author that were bothering me so… 14 年之前
DependencyInjection 29360a0eea Removed old resources array property from DI extension classes. 14 年之前
Logger f79e23ffb5 Removed all those spaces after @author that were bothering me so… 14 年之前
Resources 6213fdefb9 renamed Symfony\Framework to Symfony\Bundle 15 年之前
Tests bf82cf42dd renamed Symfony\Components to Symfony\Component 14 年之前
PropelBundle.php d657adbfa2 removed Symfony\Framework 14 年之前
README 6213fdefb9 renamed Symfony\Framework to Symfony\Bundle 15 年之前

README

Propel Bundle
=============

This is a (work in progress) implementation of Propel in Symfony 2.

Currently supports:

* Generation of model classes based on an XML schema (not YAML) placed under `BundleName/Resources/*schema.xml`.
* Runtime autoloading of Propel and generated classes
* Propel runtime initialization through the XML configuration.

Installation
------------

* Checkout Propel and Phing in the src/vendor/ directory

> cd sandbox/src/vendor
> svn checkout http://svn.propelorm.org/branches/1.5 propel
> svn checkout http://phing.mirror.svn.symfony-project.com/tags/2.3.3/classes/phing phing

Sample Configuration
--------------------

### Project configuration

# in sandbox/hello/config/config.yml
propel.config:
path: %kernel.root_dir%/../src/vendor/propel
phing_path: %kernel.root_dir%/../src/vendor/phing

propel.dbal:
driver: mysql
user: root
password: null
dsn: mysql:host=localhost;dbname=test
options: {}
# default_connection: default
# connections:
# default:
# driver: mysql
# user: root
# password: null
# dsn: mysql:host=localhost;dbname=test
# options: {}

### Sample Schema

Place the following schema in src/Application/HelloBundle/Resources/config/schema.xml:






















### Build Process

Call the application console with the `propel:build` task:

> ./hello/console propel:build --classes

### Use The Model Classes

Use the Model classes as any other class in Symfony. Just use the correct namespace, and Symfony will autoload them:

class HelloController extends Controller
{
public function indexAction($name)
{
$author = new \Application\HelloBundle\Model\Author();
$author->setFirstName($name);
$author->save();

return $this->render('HelloBundle:Hello:index', array('name' => $name, 'author' => $author));
}
}


Known Problems
--------------

Your application must not be in a path including dots in directory names (i.e. '/Users/me/symfony/2.0/sandbox/' fails).