fixed typo
[docs] add some missing docs for internal swiftmailer services
fixed another typo :(
[docs] basic documentation for the SymfonyBridgesExtension
fixed Swiftmailer autoloader to be BC with the previous code
[docs] adjust path yet again, to point to /lib/classes
merged branch igorw/swiftmailer-docs (PR #172)

Commits
-------

d4a96c3 [docs] adjust path yet again, to point to /lib/classes
b482107 [docs] add some missing docs for internal swiftmailer services
c4957ef [docs] remove unneeded transport and mailer from swiftmailer docs
f210d1e Merge branch 'master' into swiftmailer-docs
50fddd1 [docs] remove duplicate 'a'
62a31c0 [docs] rewrite usage POST example to not use Swiftmailer
3c92b81 [docs] documentation for SwiftmailerExtension

Discussion
----------

Swiftmailer docs

Finally got round to finishing this one.

* Adds documentation for the SwiftmailerExtension.
* Changes the `POST` example in usage to use `mail()` instead of Swiftmailer.

---------------------------------------------------------------------------

by igorw at 2011/09/18 07:25:43 -0700

Should be complete now.
merged branch igorw/symfony-bridges-docs (PR #173)

Commits
-------

394ea19 [docs] basic documentation for the SymfonyBridgesExtension

Discussion
----------

[docs] basic documentation for the SymfonyBridgesExtension

there are no extensive usage examples, but it's a start.
tweaked docs
made the flush mechanism more flexible
replaced the current way to create reusable applications

The main idea is the move of all controller-related code from Application to
ControllerCollection. Reusable applications are now instances of
ControllerCollection instead of Application instances. That way, there is only
one "true" Application instance, and thus only one Pimple container.

Reusable applications can now be packaged as classes, like Extensions. It
allows to package services and controllers into one extension.

Benefits:

 * less hackish (proper wrapping in a class, no need to add a temporary route, no need for the LazyApplication anymore)
 * less code
 * simple and straightforward code (no magic anymore)
 * less side-effects
 * fix most severe/annoying limitations of the current implementation (from what I've read in the mailing-list and the Github issues)
 * better encapsulation of "reusable" applications
 * better separation of concerns
 * simple usage is exactly the same as before (as Application proxies the ControllerCollection methods for the "default" app)

Upgrading is as simple as replacing Application with ControllerCollection for
reusable apps (note that a reusable app is not "standalone" anymore):

    $mounted = new ControllerCollection();
    $mounted->get('/bar', function() { return 'foo'; });

    $app->mount('/foo', $mounted);

A better way now is to create a class:

    use Silex\ApplicationExtensionInterface;

    class FooApplication implements ApplicationExtensionInterface
    {
        public function connect(Application $app)
        {
            $controllers = new ControllerCollection();
            $controllers->get('/bar', function() { return 'foo'; });

            return $controllers;
        }
    }

    $app->mount('/foo', new FooApplication());

Note that you get the "master" application, so that you have access to the
services defined here.

If you want to register services, you can do so in the same extension:

    use Silex\ApplicationExtensionInterface;
    use Silex\ExtensionInterface;

    class FooApplication implements ApplicationExtensionInterface, ExtensionInterface
    {
        public function register(Application $app)
        {
            $app['some_service'] = ...;
        }

        public function connect(Application $app)
        {
            $controllers = new ControllerCollection();
            $controllers->get('/bar', function(Application $app) {
                $app['some_service']->...;

                return 'foo';
            });

            return $controllers;
        }
    }

    $ext = new FooApplication();
    $app->register($ext);
    $app->mount('/foo', $ext);
renamed ExtensionInterface to ServiceProviderInterface and ControllersExtensionInterface to ControllerProviderInterface
updated documentation
renamed *Provider classes to *ServiceProvider
moved Changelog to the documentation for easy reference on the website
fixed bad merge
moved TwigCoreExtension to Provider/
fixed rst markup
fixed some class names in the doc
fixed doc markup