- 22 Sep, 2011 3 commits
-
-
Fabien Potencier authored
renamed ExtensionInterface to ServiceProviderInterface and ControllersExtensionInterface to ControllerProviderInterface
-
Fabien Potencier authored
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);
-
Fabien Potencier authored
-
- 21 Sep, 2011 1 commit
-
-
Fabien Potencier authored
-
- 20 Sep, 2011 2 commits
-
-
Fabien Potencier authored
Commits ------- 394ea192 [docs] basic documentation for the SymfonyBridgesExtension Discussion ---------- [docs] basic documentation for the SymfonyBridgesExtension there are no extensive usage examples, but it's a start.
-
Fabien Potencier authored
Commits ------- d4a96c35 [docs] adjust path yet again, to point to /lib/classes b482107a [docs] add some missing docs for internal swiftmailer services c4957ef5 [docs] remove unneeded transport and mailer from swiftmailer docs f210d1ea Merge branch 'master' into swiftmailer-docs 50fddd1c [docs] remove duplicate 'a' 62a31c0f [docs] rewrite usage POST example to not use Swiftmailer 3c92b812 [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.
-
- 18 Sep, 2011 12 commits
-
-
Igor Wiedler authored
-
Fabien Potencier authored
-
Igor Wiedler authored
-
Fabien Potencier authored
-
Igor Wiedler authored
-
Fabien Potencier authored
-
Igor Wiedler authored
-
Igor Wiedler authored
* master: changed Swiftmailer autoloader to use the Swiftmailer one (it automatically loads the init file) added a way to render a controller from a template (like in Symfony2) fixed typo added SessionCsrfProvider support in FormExtension when SessionExtension is registered fixed priority of the session listener (matches the priority set in Symfony FrameworkBundle) updated Twig vendor Updated the doc for the SessionExtension Made the default locale configurable updated domain names added a tip about a possible problem with phar archives
-
Fabien Potencier authored
-
Igor Wiedler authored
-
Igor Wiedler authored
-
Igor Wiedler authored
-
- 15 Sep, 2011 2 commits
-
-
Fabien Potencier authored
-
Fabien Potencier authored
-
- 13 Sep, 2011 4 commits
-
-
Fabien Potencier authored
-
Fabien Potencier authored
-
Fabien Potencier authored
Commits ------- cf72c220 Updated the doc for the SessionExtension a8dfaed8 Made the default locale configurable Discussion ---------- Made the default locale configurable Implements the feature request by @lyrrix: https://twitter.com/#!/lyrixx/status/112489647938080768
-
Fabien Potencier authored
-
- 10 Sep, 2011 2 commits
-
-
Christophe Coevoet authored
-
Christophe Coevoet authored
-
- 01 Sep, 2011 1 commit
-
-
Fabien Potencier authored
-
- 29 Aug, 2011 1 commit
-
-
Fabien Potencier authored
-
- 26 Aug, 2011 2 commits
-
-
Fabien Potencier authored
-
Fabien Potencier authored
-
- 25 Aug, 2011 2 commits
-
-
Fabien Potencier authored
Commits ------- 3be9b0d7 [docs] add note that ubuntu includes suhosin Discussion ---------- [docs] add note that ubuntu includes suhosin (this came up on the mailing list)
-
Igor Wiedler authored
-
- 24 Aug, 2011 7 commits
-
-
Fabien Potencier authored
-
Fabien Potencier authored
-
Fabien Potencier authored
-
Fabien Potencier authored
-
Fabien Potencier authored
-
Fabien Potencier authored
-
Fabien Potencier authored
-
- 21 Aug, 2011 1 commit
-
-
Fabien Potencier authored
-