Acme Form Experimental Bundle
PHP
Latest commit 9bacab3 Jan 27, 2012 @beberlei Merge pull request #43 from DerStoffel/patch-4
Updated the load function due to the latest doctrine update
Permalink
Failed to load latest commit information.
Controller
DataFixtures/ORM Merge pull request #43 from DerStoffel/patch-4 Jan 27, 2012
Entity added validation tests + some ui fix + tweaks Aug 6, 2011
Form
Resources
Tests
.gitignore cosmetic changes Apr 1, 2011
AcmePizzaBundle.php Initial commit Mar 24, 2011
README.md
composer.json Change composer.json Jan 23, 2012

README.md

Acme Pizza Bundle

This is a test-bundle for the experimental form support.

It is very early status and will be finalized as a demo example over the weekend.

Distribution: Best used with Symfony Standard Edition

Requirements

Symfony(https://github.com/symfony/symfony) obviously.

Installation

Add the deps for the needed bundles

[AcmePizzaBundle]
    git=https://github.com/beberlei/AcmePizzaBundle.git
    target=/bundles/Acme/PizzaBundle

[doctrine-fixtures]
    git=http://github.com/doctrine/data-fixtures.git

[DoctrineFixturesBundle]
    git=http://github.com/symfony/DoctrineFixturesBundle.git
    target=/bundles/Symfony/Bundle/DoctrineFixturesBundle

Next, run the vendors script to download the bundles:

$ php bin/vendors install

Add to autoload.php

$loader->registerNamespaces(array(
    'Acme'             => __DIR__.'/../vendor/bundles',
    // ...

Register AcmePizzaBundle to Kernel

<?php

    # app/AppKernel.php
    //...
    $bundles = array(
        //...
        new Acme\PizzaBundle\AcmePizzaBundle(),
    );
    //...

Create database and schema

$ php app/console doctrine:database:create
$ php app/console doctrine:schema:create

Enable routing configuration

# app/config/routing.yml
AcmePizzaBundle:
    resource: "@AcmePizzaBundle/Controller/"
    type:     annotation
    prefix:   /acme-pizza

Refresh asset folder

$ php app/console assets:install web/

Data fixtures (optional)

First, make sure that your db parameters are correctly set in app/config/parameters.ini. You'll need to install Doctrine Data Fixtures (don't forget to add the path to AppKernel.php) and then run:

$ php app/console doctrine:fixtures:load

You can read about install instructions in the Symfony2 Cookbook(http://symfony.com/doc/2.0/cookbook/doctrine/doctrine_fixtures.html#setup-and-configuration)

Usage

Go to app_dev.php/acme-pizza/pizza/list and start selling pizzas.

Testing

You can launch functional tests with Selenium RC server running with the following steps:

  • download selenium server
  • edit app/phpunit.xml.dist:
    • add php's server variable to match your configuration
    • add the selenium's browser configuration. I added Google Chrome Portable because it's faster than ie or even firefox.

app/phpunit.xml.dist

# app/phpunit.xml.dist
<!-- ... -->
<php>
    <server
        name  = "KERNEL_DIR"
        value = "/var/www/AcmePizza/app/" />
    <server
        name  = "HTTP_HOST"
        value = "localhost" />
    <server
        name  = "SCRIPT_NAME"
        value = "/AcmePizza/web/app_dev.php" />
</php>
<!-- ... -->

<!-- ... -->
<selenium>
    <browser
        name    = "Google Chrome Portable"
        browser = "*custom c:\bin\GoogleChromePortable\GoogleChromePortable.exe -disable-popup-blocking -proxy-server=127.0.0.1:4444"
        host    = "127.0.0.1" /> <!-- ip of selenium RC server -->
</selenium>
<!-- ... -->

Now you can run test (assuming that Selenium RC is running java -jar selenium-server-standalone-2.2.0.jar) with phpunit -c app/ src/Acme/PizzaBundle/Tests/ If you want you can submit other missing tests.