Commit Graph

2044 Commits

Author SHA1 Message Date
Bernhard Schussek
c468db5c5b [Form] Merged classes FieldGroup and Form for simplicity 2011-02-01 15:27:12 +01:00
Bernhard Schussek
7680657944 [Form] Form::isPostMaxSizeReached() only triggers for root forms 2011-02-01 15:27:12 +01:00
Bernhard Schussek
4fcb98547c [Form] Simplified Form::bind(), added convenience methods Form::bindRequest() and Form::bindGlobals() 2011-02-01 15:27:12 +01:00
Bernhard Schussek
57cbd57265 [Form] Fields may now be anonymous, but anonymous fields must not be added to groups. They can only be used as prototypes 2011-02-01 15:27:12 +01:00
Bernhard Schussek
916e599937 [Form] Fixed broken namespace paths 2011-02-01 15:27:12 +01:00
Bernhard Schussek
d152b5e265 [Form] Moved Doctrine2 specific files 2011-02-01 15:27:12 +01:00
Bernhard Schussek
3bf9f7782d [DoctrineBundle][Form] Implemented EntityFieldFactoryGuesser 2011-02-01 15:27:12 +01:00
Bernhard Schussek
347c069e8d [DoctrineBundle][Form] Implemented EntityChoiceField 2011-02-01 15:27:12 +01:00
Lukas Kahwe Smith
46d900682f is_scalar(null) !== true 2011-02-01 13:55:10 +01:00
Fabien Potencier
2889e91c27 [DoctrineMongoDBBundle] fixed unit tests 2011-02-01 13:35:39 +01:00
Victor Berchet
cb445b9ca0 [Container] Tweak code 2011-02-01 13:21:10 +01:00
Bulat Shakirzyanov
132e5805b3 [DoctrineMongoDBBundle] fixed annotations ns conflict, switched to @mongodb:Unique annotation 2011-02-01 13:19:37 +01:00
Bernhard Schussek
22c12e2c8f [HttpFoundation] Fixed failing tests introduced in 8dd0c5641a 2011-01-31 15:38:13 +01:00
Fabien Potencier
2c4355460e [HttpKernel] added a StoreInterface 2011-01-31 14:15:12 +01:00
Fabien Potencier
1babf3c7a1 [FrameworkBundle] added a safeguard for infinite loops on some Windows configurations 2011-01-31 08:54:05 +01:00
Fabien Potencier
839cb027a6 [HttpKernel] added a bootstrap file for HTTP cache front controllers 2011-01-31 08:30:32 +01:00
Fabien Potencier
b52e28243d [HttpFoundation] added ApacheRequest 2011-01-31 08:28:55 +01:00
Fabien Potencier
8dd0c5641a [HttpFoundation] made small optimizations 2011-01-31 08:26:40 +01:00
Damien Alexandre
56483dc14f The ControlerResolver service as been moved in http_kernel 2011-01-30 20:17:31 +01:00
Victor Berchet
f470c5605e [Request] Fix getting mime type 2011-01-30 20:14:40 +01:00
Bulat Shakirzyanov
d1cd442361 [FrameworkBundle] added session listener for test environment 2011-01-30 20:13:29 +01:00
Fabien Potencier
b1448ecdc7 [HttpFoundation] fixed typo 2011-01-30 20:13:00 +01:00
Fabien Potencier
b7a0f71b87 [FrameworkBundle] added more file to the class cache when using the PHP templating engine 2011-01-30 14:37:22 +01:00
Fabien Potencier
4e877a84ad [FrameworkBundle] fixed router:apache-dump command 2011-01-30 11:37:38 +01:00
Fabien Potencier
0c439e2c64 updated bootstrap.php 2011-01-30 11:07:12 +01:00
Fabien Potencier
3686edf769 [ClassLoader] made a small optimization 2011-01-30 10:53:57 +01:00
Fabien Potencier
ee3d03ee8a [HttpFoundation] made Request::create() overridable 2011-01-30 10:53:45 +01:00
Fabien Potencier
e081e5919e reverted changes to the adaptive cache loader cache 2011-01-29 17:58:40 +01:00
Victor Berchet
5e5b6f0cf8 [HttpKernel] made sure that parent bundles are registered before their descendants 2011-01-29 16:38:06 +01:00
Dominique Bongiraud
996c2b0914 [HttpFoundation] Moved licence 2011-01-29 16:12:10 +01:00
Fabien Potencier
55f38e10af [HttpKernel] simplified code 2011-01-29 15:36:57 +01:00
Fabien Potencier
5f11e49d0b [HttpKernel] made exceptions more robust (avoid too deep nested arrays PHP errors) 2011-01-29 15:31:46 +01:00
Fabien Potencier
dacb25f13a updated bootstrap.php 2011-01-29 15:20:21 +01:00
Fabien Potencier
025e142dd4 removed parameter converters as decided during IRC meeting (supported is still provided by FrameworkExtraBundle)
You must remove the configuration element if you had enabled the feature:

         <app:param-converter />
2011-01-29 15:04:28 +01:00
Johannes Schmitt
36e30e21cd [Security] some tests 2011-01-29 14:51:13 +01:00
Fabien Potencier
faf871990e fixed CS 2011-01-29 12:21:55 +01:00
Miha Vrhovnik
6ee13a6b8d Added optional parameter bundleName,
added namespace validation,
fixed dir trailing / handling
2011-01-29 12:18:44 +01:00
Fabien Potencier
8ac1a189bf [HttpKernel] removed unnecessary code 2011-01-29 12:18:16 +01:00
Johannes M. Schmitt
f2a3135bd0 [Security] made a unique name required for each firewall 2011-01-29 10:22:27 +01:00
Lukas Kahwe Smith
2539da5e6a [Security] added AbstractFactory 2011-01-29 10:22:27 +01:00
Johannes M. Schmitt
3ac4994507 [Security] added missing argument to SwitchUserListener 2011-01-29 10:22:27 +01:00
Johannes M. Schmitt
8a879531bd [Security] added key normalization, and removed some conditionals 2011-01-29 10:22:27 +01:00
Johannes M. Schmitt
af696f6a65 [Security] allow custom logout handlers to be configured 2011-01-29 10:22:26 +01:00
Johannes M. Schmitt
e23f39c42f [Security] config refactoring 2011-01-29 10:22:26 +01:00
Victor Berchet
65eb70d3b6 [Kernel] Tweak bundle management 2011-01-29 10:15:25 +01:00
Christophe Coevoet
96a0a7e7d1 Fixed SecurityDataCollector 2011-01-29 10:12:07 +01:00
Benjamin Eberlei
c4a2fb41ec [DoctrineBundle] Shortened Dependency Injection Fixture namespace to avoid Windows filepath length error. 2011-01-29 10:11:21 +01:00
Benjamin Eberlei
6d6c9a5c9d [DoctrineBundle] Small cleanup of Import Mapping. 2011-01-29 10:10:09 +01:00
Benjamin Eberlei
5014ee9739 [DoctrineBundle] More cleanups of doctrine commands. 2011-01-29 10:09:55 +01:00
Benjamin Eberlei
bdbfb44a96 [DoctrineBundle] First round of cleanup the Command namespace in DoctrineBundle 2011-01-29 10:09:42 +01:00
Benjamin Eberlei
394a60b4be [DoctrineBundle] Fix getBundleMetadata helper function in DoctrineCommand 2011-01-29 10:09:25 +01:00
Sergey Linnik
92ddaa11cd Fixed typo 2011-01-28 18:46:27 +01:00
Fabien Potencier
4e89fede54 [HttpKernel] removed a stupid line of code 2011-01-28 18:42:34 +01:00
Fabien Potencier
8df5d42009 [HttpKernel] fixed typo 2011-01-28 18:31:55 +01:00
Benjamin Eberlei
6ac5c298bd [Console] Add missing method isInteractive() to InputInterface and added some docblock comments to all interface methods. 2011-01-28 18:28:17 +01:00
Jeremy Mikola
7b287550ff [SecurityBundle] Remove obsolete "path" option from HttpBasicFactory 2011-01-28 18:26:49 +01:00
Bulat Shakirzyanov
5252d3aef0 [Serializer] switched to setEncoder, to be consistent with getEncoder 2011-01-28 18:24:34 +01:00
Johannes M. Schmitt
62d52d8015 enables normalizeConfig() to handle irregular plural forms, e.g. factory -> factories 2011-01-28 18:22:17 +01:00
Bulat Shakirzyanov
81219bba15 [Security] fixed typo 2011-01-28 18:20:59 +01:00
Bulat Shakirzyanov
799375dfd6 [EventDispatcher] removed unused class variable 2011-01-28 16:36:43 +01:00
Fabien Potencier
01439d5f14 updated bootstrap file 2011-01-28 10:11:09 +01:00
Bernhard Schussek
ebd2ca6cfe [Form] Moved option 'empty_value' to ChoiceField. An empty value is displayed if the field is not required. 2011-01-28 09:22:06 +01:00
Bernhard Schussek
34865a3533 [Form] Added a field guess for AssertType('\DateTime') constraint 2011-01-28 09:20:58 +01:00
Bernhard Schussek
ce61baf717 [Form] ChoiceField now accepts closures in the 'choices' option 2011-01-28 09:20:41 +01:00
Bernhard Schussek
9e6e95d7e4 [Form] Fixed: required setting in FieldFactory is now properly overridable 2011-01-28 09:20:27 +01:00
Bernhard Schussek
0c3ca26e6e [Validator] Implemented traversing of \Traversable objects using the @Valid constraint. Can be disabled by setting the @Valid option 'traverse' to false 2011-01-28 09:19:32 +01:00
Johannes Schmitt
803dd58002 add definition inheritance support 2011-01-28 09:12:29 +01:00
Lukas Kahwe Smith
26666a272d fixed array support in twig globals 2011-01-27 21:48:20 +01:00
Fabien Potencier
98c1056fbf renamed Request::fromGlobals() to Request::createFromGlobals() (for consistency with the existing create() method) 2011-01-27 21:20:08 +01:00
Kris Wallsmith
224e66f77b [HttpFoundation] added static Request::fromGlobals()
The Request constructor no longer uses values from PHP's super globals. If you want a Request populated with these values you must use the new static method Request::fromGlobals().

Your front controllers (i.e. web/app.php, web/app_dev.php ...) will need to be updated:

    // old
    $kernel->handle(new Request())->send();

    // new
    $kernel->handle(Request::fromGlobals())->send();
2011-01-27 21:12:55 +01:00
Johannes M. Schmitt
f3c2e98b25 lazy-load the compiler, and related objects 2011-01-27 21:06:49 +01:00
Benjamin Eberlei
63375060e8 [DoctrineBundle] Refactor doctrine-1.0.xsd 2011-01-27 16:38:33 +01:00
Benjamin Eberlei
3c9c43d592 [DoctrineBundle] Add support to configure DBAL Types through the dbal configuration section. 2011-01-27 16:38:32 +01:00
Victor Berchet
cd96c91447 json_encode() syntax (fix commit fb889a2eee) 2011-01-27 16:37:25 +01:00
Fabien Potencier
4ecafd883e [FrameworkBundle] moved class cache loader earlier 2011-01-27 16:34:54 +01:00
Fabien Potencier
2509c9da4b added an autoloader that uses a class map
A class in Symfony2 can be loaded by four different mechanisms:

 * bootstrap.php: This file contains classes that are always required and
   needed very early in the request handling;

 * classes.php: This file contains classes that are always required and
   managed by extensions via addClassesToCompile();

 * MapFileClassLoader: This autoloader uses a map of class/file to load
   classes (classes are managed by extensions via addClassesToAutoloadMap(),
   and should contain often used classes);

 * UniversalAutolaoder: This autoloader loads all other classes (it's the
   slowest one).
2011-01-27 16:30:58 +01:00
Fabien Potencier
02820a5a56 [HttpKernel] fixed phpdoc 2011-01-27 16:30:58 +01:00
Fabien Potencier
532bbbde30 [SecurityBundle] fixed typo 2011-01-27 14:50:10 +01:00
Fabien Potencier
d5b540a4fe [FrameworkBundle] made a small optimization 2011-01-27 14:32:30 +01:00
Fabien Potencier
249ed63373 [FrameworkBundle] made a small change 2011-01-27 14:14:15 +01:00
Fabien Potencier
95e10b3ed9 moved ClassLoaderCollection class to the ClassLoader component 2011-01-27 14:11:54 +01:00
Fabien Potencier
db818284af moved class compiled in cache to the FrameworkBundle 2011-01-27 14:07:30 +01:00
Fabien Potencier
6997fbac0d fixed previous commit 2011-01-27 13:58:21 +01:00
Johannes M. Schmitt
8ccb8eb8c2 added two events "security.interactive_login", and "security.switch_user" 2011-01-27 13:49:01 +01:00
Johannes M. Schmitt
00d3d8c3bc renamed PreAuthenticatedListener to AbstractPreAuthenticatedListener to be consistent 2011-01-27 13:49:01 +01:00
Johannes Schmitt
139510a78e added some doc comments 2011-01-27 13:49:00 +01:00
Fabien Potencier
42f9c556a3 moved the class loader to its own component 2011-01-27 13:04:16 +01:00
Fabien Potencier
7bd30398c6 [FrameworkBundle] moved some cache warmers 2011-01-27 12:22:32 +01:00
Fabien Potencier
0219ec3dbc [DependencyInjection] added missing methods in ContainerInterface 2011-01-27 08:42:22 +01:00
Bulat Shakirzyanov
ff34f7d281 [DoctrineMongoDBBundle] added support for multiple document managers 2011-01-26 22:25:21 +01:00
Johannes M. Schmitt
cf64d2cfe7 namespace changes
Symfony\Component\Security -> Symfony\Component\Security\Core
Symfony\Component\Security\Acl remains unchanged
Symfony\Component\HttpKernel\Security -> Symfony\Component\Security\Http
2011-01-26 22:23:20 +01:00
Fabien Potencier
e557500c97 [HttpKernel] removed obsolete code 2011-01-26 21:51:35 +01:00
Fabien Potencier
edf57fc392 [HttpKernel] removed obsolete code 2011-01-26 21:48:48 +01:00
Fabien Potencier
75404e6bd6 renamed HttpKernel/Cache/ namespace to HttpKernel/HttpCache/ 2011-01-26 21:44:54 +01:00
Lukas Kahwe Smith
d10f631c3d fixed security engine loading 2011-01-26 21:15:00 +01:00
Fabien Potencier
b154643b65 Revert "[DoctrineBundle][DoctrineMongoDBBundle] Create DIC params for security user provider EM/DM aliases"
This reverts commit 24c7715029.
2011-01-26 20:33:08 +01:00
Jeremy Mikola
24c7715029 [DoctrineBundle][DoctrineMongoDBBundle] Create DIC params for security user provider EM/DM aliases
Also changed the default alias to Doctrine's own canonical aliases for the default EM/DM.
2011-01-26 19:37:12 +01:00
Fabien Potencier
e645090423 moved security related things to a new SecurityBundle (the Security component is left unchanged) 2011-01-26 19:10:54 +01:00
Johannes M. Schmitt
a367dfc3ec fixes a bug where RememberMeServices were not called consistently 2011-01-26 16:38:54 +01:00
Johannes Schmitt
e0fe42d050 removed isAuthenticated() from SecurityContext 2011-01-26 16:38:54 +01:00
Johannes Schmitt
57ae50e894 [Security] many improvements, and fixes 2011-01-26 16:38:54 +01:00
Fabien Potencier
fb889a2eee replaced some var_export() with json_encode() for better readability 2011-01-26 15:55:28 +01:00
Fabien Potencier
5d963f5460 [Templating] fixed PhpEngine::render() when the name passed to it is already an array 2011-01-26 15:34:10 +01:00
Fabien Potencier
db2f2b1315 refactored template name parser to occur independently of the loaders 2011-01-26 14:53:12 +01:00
Fabien Pennequin
956857119b [Form] Fixed typo in phpdoc 2011-01-26 10:36:10 +01:00
Fabien Pennequin
c392f2518d [Form][Validator] Fixed indentation 2011-01-26 10:36:10 +01:00
Fabien Potencier
136647c753 [FrameworkBundle] refactored router cache class parameters 2011-01-26 08:50:16 +01:00
Fabien Potencier
8b62df7247 changed the EventDispatcher and Event interfaces
The three notification methods do not return the Event instance anymore.

notify() does not return anything
notifyUntil() returns the returned value of the event that has processed the event
filter() returns the filtered value

Upgrading your listeners:
Listeners for notify() and filter() events: nothing to change
Listeners for notifyUntil() events:

Before:

    $event->setReturnValue('foo');
    return true;

After:

    $event->setProcessed();
    return 'foo';

If you notify events, the processing also need to be changed:

For filter() notifications: the filtered value is now available as
the returned value of the filter() method.

For notifyUntil() notifications:

Before:

    $event = $dispatcher->notifyUntil($event);
    if ($event->isProcessed()) {
        $ret = $event->getReturnValue();

        // do something with $ret
    }

After:

    $ret = $dispatcher->notifyUntil($event);
    if ($event->isProcessed()) {
        // do something with $ret
    }
2011-01-26 08:41:59 +01:00
Fabien Potencier
a66d050bdb removed KernelInterface::reboot() method 2011-01-26 08:41:59 +01:00
Benjamin Eberlei
3eadf73cbd [DoctrineBundle] Stop the cache warmer if proxies are auto-generated anyways. 2011-01-26 06:55:29 +01:00
Benjamin Eberlei
5700be7ac4 [DoctrineBundle] Remove ProxyDirectoryCachePass from DoctrineBundle 2011-01-26 06:55:29 +01:00
Benjamin Eberlei
18c611a29e [DoctrineBundle] Remove the CreateProxyDirectoryPass and let the cache directory generation be done by the cache warmer. 2011-01-26 06:55:29 +01:00
Fabien Potencier
8cfa246887 [DoctrineBundle] modified XSD to allow expression for Booleans (like %kernel.debug%) 2011-01-25 20:00:38 +01:00
Fabien Potencier
36dcce40eb changed method signature to use the new KernelInterface 2011-01-25 17:20:20 +01:00
Fabien Potencier
a1945ca9bc fixed XML definitions 2011-01-25 17:13:34 +01:00
Fabien Potencier
fb4e7fb5c5 added KernelInterface 2011-01-25 17:10:47 +01:00
Fabien Potencier
935c82e1f9 [FrameworkBundle] simplified some code 2011-01-25 16:42:50 +01:00
Johannes Schmitt
40dec8831f adds helper method to normalize keys 2011-01-25 15:59:51 +01:00
Johannes M. Schmitt
6bbfffb981 added path, and domain to clearCookie() in accordance with RFC 2109, and RFC 2965 2011-01-25 15:58:01 +01:00
marc.weistroff
90c16c7350 [HttpKernel] Changed the directory name in which Store stores data.
Previously, it used this pattern:

md/abcd/123456789

now it uses this one :

md/ab/cd/123456789
2011-01-25 15:55:18 +01:00
Fabien Potencier
0e66e388ec added two interfaces: EventInterface and EventDispatcherInterface 2011-01-25 14:23:32 +01:00
jeromemacias
b325487388 [HttpKernel] Removed calls to undefined variable + added check on mkdir in save method 2011-01-25 12:17:26 +01:00
Johannes Schmitt
a4de7dab10 make normalizeConfig public and static 2011-01-25 11:40:02 +01:00
Fabien Potencier
97897f532a [Form] removed obsolete method 2011-01-25 11:37:48 +01:00
Bernhard Schussek
d017970867 [Form] Implemented FormFactory::buildDefault() to ease the use of the new CSRF implementation without the DIC 2011-01-25 11:31:04 +01:00
Bernhard Schussek
0239d62619 [Form] Made the CSRF provider service public so that it can be used without forms 2011-01-25 11:31:04 +01:00
Bernhard Schussek
7848a7ca63 [Form] Refactored CSRF implementation to be reusable and to work correctly with the session service 2011-01-25 11:31:04 +01:00
Ryan Weaver
d341e8bccb [Form] Adding PHPDoc to many Field objects and making other small changes:
* Added empty_value option on CountryField, LanguageField, LocaleField, TimezoneField
 * Added missing date_pattern to DateTimeField
 * Made the currency option on MoneyField required.
2011-01-25 11:10:25 +01:00
Eriksen Costa
b38519bb23 [FrameworkBundle] fixed call to \Locale::getDefault() 2011-01-25 11:10:25 +01:00
Jordi Boggiano
08f8b223ff [Serializer] Added hasEncoder and getEncoder to the SerializerInterface 2011-01-25 11:06:18 +01:00
Jordi Boggiano
6f5c2e2d8b [Serializer] Abstract classes now implement their respective interfaces 2011-01-25 11:06:18 +01:00
Jordi Boggiano
cbd4fdd398 [Serializer] JsonEncoder must return arrays only 2011-01-25 11:06:18 +01:00
Benjamin Eberlei
4d4eec618c [DoctrineBundle] Implement Proxy CacheWarmer 2011-01-25 10:06:35 +01:00
Andy Stanberry
0ef67112b2 [Console] added writeln to the OutputInterface 2011-01-25 10:05:07 +01:00
Stepan Tanasiychuk
8ec6878a2a fix bug in Symfony\Bundle\FrameworkBundle\Templating\Helper\FormHelper 2011-01-25 10:03:50 +01:00
Bernhard Schussek
e4eb7f720b [DoctrineBundle] Fixed: CollectionToChoiceTransformer should accept null values 2011-01-25 10:02:12 +01:00
Henrik Bjørnskov
3564b86ee9 [DoctrineBundle] Fixed loggin in DoctrineExtension not being taken into account 2011-01-25 09:57:47 +01:00
Fabien Potencier
03e51cc1e2 [FrameworkBundle] fixed template paths cache warmer (it should index all templates, not just the Twig ondes) 2011-01-25 09:55:03 +01:00
Fabien Potencier
561a3e47b3 [HttpKernel] made another speed optimization 2011-01-25 09:33:07 +01:00
Fabien Potencier
79dce161dd made a performance optimization
To benefit from the optimization, you need to change this line from your
autoload.php:

require_once $vendorDir.'/symfony/src/Symfony/Component/HttpFoundation/UniversalClassLoader.php';

to this one:

require_once $vendorDir.'/symfony/src/Symfony/Component/HttpKernel/bootstrap.php';

Notice that if you don't do this change, your app will in fact be slower than before.
2011-01-25 09:06:12 +01:00
Fabien Potencier
3e71c2c76e [DependencyInjection] made a small speed optimization 2011-01-25 08:41:58 +01:00
Fabien Potencier
2499ac4d21 [FrameworkBundle] fixed cache warmer when global view directory does not exist 2011-01-25 08:29:11 +01:00
Bulat Shakirzyanov
558268331b [DoctrineMongoDBBundle] added a check that fixture dir exists 2011-01-24 22:22:16 +01:00
Fabien Potencier
2860c2651c [FrameworkBundle] fixed template paths cache warmer 2011-01-24 22:05:48 +01:00
beberlei
2bc6197859 [DoctrineBundle] Fix bug in Auto Proxy Generation introduced with config merge refactoring 2011-01-24 21:49:19 +01:00
Fabien Potencier
69fb235160 Revert "[DoctrineBundle] Fix bug in Auto Proxy Generation introduced with config merge refactoring. Use array_reverse() for $configs to fix incremental merge algorithm assumptions."
This reverts commit 1bc0b54411.
2011-01-24 21:36:12 +01:00
Johannes Schmitt
f29a5f74a1 made the DI config validation more strict to catch errors early 2011-01-24 21:15:48 +01:00
Stepan Tanasiychuk
4408cbc9fa fix bug in Symfony\Bundle\DoctrineMigrationsBundle\Command\DoctrineCommand 2011-01-24 20:36:01 +01:00
beberlei
1bc0b54411 [DoctrineBundle] Fix bug in Auto Proxy Generation introduced with config merge refactoring. Use array_reverse() for $configs to fix incremental merge algorithm assumptions. 2011-01-24 20:34:57 +01:00
Bulat Shakirzyanov
571448b047 [FrameworkBundle] mode include tag filenames fixes 2011-01-24 19:33:43 +01:00
Fabien Potencier
9607e61d86 [Console] fixed typo 2011-01-24 19:05:36 +01:00
Bulat Shakirzyanov
14e4b9733d [HttpFoundation] fixed FileBag to handle sub-requests 2011-01-24 18:22:48 +01:00
Fabien Potencier
edb11ad5cb [FrameworkBundle] added a cache warmer for the router
To enable this cache warmer, you must add a "cache-warner" option
to app:router:

        <app:config>
            <app:router cache-warmer="true" />
2011-01-24 18:13:43 +01:00
Fabien Potencier
8f6e8a4691 [TwigBundle] added a cache warmer to generate all Twig templates cache
To enable this cache warmer, you must add a "cache-warner" option
to twig:config:

        <twig:config cache-warmer="true">
2011-01-24 18:13:42 +01:00
Fabien Potencier
206b49a22f [FrameworkBundle] added a cache warmer to pre-compute template paths
To enable this cache warmer, you must add a "cache-warner" option
to app:templating:

        <app:templating cache-warmer="true">
2011-01-24 18:13:39 +01:00
Fabien Potencier
d0b4bfc8f6 added a cache warmer sub-framework
Cache warmer will come in the next commits.

To warm up the cache on a production server, you can use
the cache:warmup command:

./app/console_prod cache:warmup
2011-01-24 18:08:51 +01:00
Bulat Shakirzyanov
04e16e433d [DependencyInjection] fixed ResolveInterfaceInjectorsPass, as services might not have a class defined due to a scope (e.g. 'request') 2011-01-24 17:55:09 +01:00
Johannes M. Schmitt
e55f150fb7 adds hasTag() to Definition 2011-01-24 17:46:22 +01:00
Jeremy Mikola
b3d55850df [FrameworkBundle] Controller::forward() should invoke HttpKernel instead of ControllerResolver 2011-01-24 17:45:19 +01:00
Fabien Potencier
ca8c7907e2 [Routing] added setContext() method to both matchers and generators 2011-01-24 16:59:32 +01:00
Fabien Potencier
49793c22d4 fixed event dispatcher 2011-01-24 16:46:04 +01:00
Daniel Holmes
fd98c8f0f2 Removed assumption that phpunit.xml is relative 2011-01-24 07:35:45 +01:00
Fabien Potencier
e1a3cd0446 removed output() methods, which are only shortcut for 'echo render' 2011-01-23 22:09:12 +01:00
Johannes Schmitt
6432dea07c adds migrate() to Session
This migrates the session to a new session id while not deleting the
actual session attributes.
2011-01-23 21:52:31 +01:00
Johannes M. Schmitt
0144dd86da adds synthetic attribute to definitions
This attribute can be used to hint that the service is being injected
dynamically at runtime, and not constructed by the DIC.
2011-01-23 21:11:50 +01:00
Ryan Weaver
7e2331fabd [DoctrineBundle] Removing the "doctrine.orm.metadata.annotation_default_namespace" parameter which is unused. Beberlei agreed that this is outdated and can probably go (and it matches the corresponding parameter I've removed in the ODM). 2011-01-23 20:23:41 +01:00
Ryan Weaver
bcd0afdab1 [DoctrineMongoDBBundle] Fixing bad hydrator namespace. 2011-01-23 20:23:41 +01:00
Ryan Weaver
05dc63c19e [DoctrineMongoDBBundle] Removing unused option. 2011-01-23 20:23:41 +01:00
Ryan Weaver
65d2e92902 [DoctrineMongoDBBundle] Removing duplicate test (this same line is about ten lines up). 2011-01-23 20:23:41 +01:00
Ryan Weaver
7bd5171fa1 [DoctrineMongoDBBundle] This parameter may be necessary, but it was not currently implemented (and it's set to the default that's set internally). So, I've removed it. 2011-01-23 20:23:41 +01:00
Fabien Potencier
67790c129b updated bootstrap file 2011-01-23 18:10:25 +01:00
Fabien Potencier
1c11d81611 made all event listeners lazy loaded
* The register() method on all listeners has been removed
 * Instead, the information is now put directly in the DIC tag

For instance, a listener on core.request had this method:

   public function register(EventDispatcher $dispatcher, $priority = 0)
   {
       $dispatcher->connect('core.response', array($this, 'filter'), $priority);
   }

And this tag in the DIC configuration:

  <tag name="kernel.listener" />

Now, it only has the following configuration:

  <tag name="kernel.listener" event="core.response" method="filter" priority="0" />

The event and method attributes are now mandatory.
2011-01-23 18:07:05 +01:00
Fabien Potencier
9310eea57a optimized templating layer
You must now explicitly register the templating engine you want to use:

  <app:templating>
      <app:engine id="twig" />
  </app:templating>

  app.templating:
      engines: ['twig']

Symfony2 comes with two such engines: 'twig', and 'php'.
2011-01-23 15:43:08 +01:00
Fabien Potencier
5e625d1f52 [FrameworkBundle] simplified code 2011-01-23 14:38:09 +01:00
Fabien Potencier
43c61754ab [FrameworkBundle] removed obsolete parameter 2011-01-23 14:33:19 +01:00
Fabien Potencier
ad0e94468d [FrameworkBundle] removed obsolete option 2011-01-23 14:17:15 +01:00
Fabien Potencier
622d228090 [HttpKernel] fixed typo 2011-01-23 14:10:12 +01:00
Fabien Potencier
09aeb78634 removed Kernel::isBooted() method 2011-01-23 13:17:50 +01:00
Jordi Boggiano
005c1d9df8 [Serializer] Added initial version of the Serializer component 2011-01-23 12:34:47 +01:00
Fabien Potencier
e5c8d7aa4f [HttpKernel] fixed typo in phpdoc 2011-01-23 12:10:45 +01:00
Fabien Potencier
e151580212 [HttpKernel] removed getRequest as it's not part of the interface anymore 2011-01-23 11:23:30 +01:00
Fabien Potencier
8c0d46365d [FrameworkBundle] added a comment for the request service
This reverts commit c68501cca4.
2011-01-23 11:22:33 +01:00
Fabien Potencier
73ab687521 moved ControllerResolver methods to HttpKernel (makes more sense) 2011-01-23 10:23:33 +01:00
Fabien Potencier
c68501cca4 [FrameworkBundle] removed the request service from configuration 2011-01-23 10:05:22 +01:00
Fabien Potencier
b577ce665a [HttpKernel] fixed scope management in HttpKernel
We should always leave the request scope at the end of the request processing.
If not, the HttpKernel leaves the container in a different state.
2011-01-23 08:47:00 +01:00
Fabien Potencier
86b357d70b [FrameworkBundle] fixed ESI configuration 2011-01-23 08:43:29 +01:00
Fabien Potencier
a8685614e0 [FrameworkBundle] fixed session auto-start option 2011-01-23 08:36:19 +01:00
Fabien Potencier
0b05fe1b1f [HttpKernel] fixed HTTP headers when requesting a HEAD on a cached response 2011-01-23 08:16:18 +01:00
Bulat Shakirzyanov
271e757f27 [HttFoundation] extracted FileBag, ServerBag, fixed HeaderBag::add(), updated Request test 2011-01-23 07:40:31 +01:00
Fabien Potencier
183c8c6f6c fixed CS 2011-01-23 07:37:01 +01:00
Jordi Boggiano
74272e02da [HttpKernel] Added path to controller not found exception 2011-01-23 07:35:41 +01:00
Fabien Potencier
eb8b3d9c21 [FrameworkBundle] added support for both csrf-protection and csrf_protection 2011-01-22 20:12:45 +01:00
Fabien Potencier
bd125fc05e [FrameworkBundle] fixed typo 2011-01-22 20:09:36 +01:00
Ryan Weaver
35ce9a37d1 [Form] Adding PHPDoc to ChoiceField and removing two unused options.
I believe the empty_value option is just a leftover Django-style option for what value the field should have if left blank. I don't see this doing anything and find no reference to anything like it anywhere else.

The separator option functionality is currently handled as a parameter in the field render functions. I think this should be moved to an option on the field, but this reflects teh current functionality (i.e. this option is not used).
2011-01-22 20:05:10 +01:00
Ryan Weaver
f73107cb9d [FrameworkBundle] Updting XSD file for new csrf_protection configuration format. 2011-01-22 20:04:36 +01:00
Benjamin Eberlei
682e83585b [DoctrineBundle] Add new Command doctrine:mapping:info that allows to check what entities are mapped and if their metadata is specified correctly. Added exception when a mapping/bundle directory does not exist. 2011-01-22 19:48:10 +01:00
Benjamin Eberlei
a50f56a7e9 [DoctrineBundle] Revert removal of dic parameter doctrine.orm.auto_generate_proxy_classes. 2011-01-22 17:53:44 +01:00
Benjamin Eberlei
8d938c54d1 [DoctrineBundle] Fix CS 2011-01-22 17:53:43 +01:00
Benjamin Eberlei
8930048ff8 [DoctrineBundle] Use doctrine.dbal.logging parameter. 2011-01-22 16:11:20 +01:00
Benjamin Eberlei
22f6307053 [DoctrineBundle] Changed and simplified dbalLoad() slightly. Made logging explicit with a configuration variable to avoid tons of unnecessary method calls in prod. environment. 2011-01-22 16:11:20 +01:00
Benjamin Eberlei
29888a4a1d [DoctrineBundle] Use a Merge Config algorithm for the ORM bundle. Simplified configuration and got rid of unnecessary ways to configure the same thing in several different ways. 2011-01-22 16:11:20 +01:00
Benjamin Eberlei
c7e3b2381a Refactored Doctrine Bundle dbalLoad() to make use of config merging. 2011-01-22 16:11:20 +01:00
Fabien Potencier
4909987e23 [DependencyInjection] fixed strict flag propagation to aliases 2011-01-22 16:05:51 +01:00
Fabien Potencier
959438ee81 [DependencyInjection] fixed CS + tweaked error messages 2011-01-22 15:35:59 +01:00
Johannes M. Schmitt
1d5b6ed908 adds scope to the DI container 2011-01-22 15:20:50 +01:00
Fabien Potencier
59a974e8f6 added TemplateLocatorInterface 2011-01-22 08:31:08 +01:00
Antoine Hérault
47421dbc25 [DoctrineBundle] Fix load data fixtures command 2011-01-22 07:26:54 +01:00
Bulat Shakirzyanov
5ff0dedebb [FrameworkBundle] fixed template names 2011-01-22 07:23:55 +01:00
Hugo Hamon
c13b0db4c8 [HttpFoundation] fixed outdated documentation for the Controller class, which does not implement ArrayAccess anymore. 2011-01-22 07:19:11 +01:00
Fabien Potencier
72b7876c80 [TwigBundle] fiwed phpdoc 2011-01-21 18:04:56 +01:00
Fabien Potencier
db2f8ea6cb made a small refactoring of some DIC extensions 2011-01-21 17:48:35 +01:00
Fabien Potencier
fedb4b4f0d [TwigBundle] started to refactor TwigExtension 2011-01-21 17:45:04 +01:00
Fabien Potencier
69f0ec3b1a added a method to normalize config entries coming from YAML and XML 2011-01-21 17:44:30 +01:00
Bulat Shakirzyanov
acb19bc43f [FrameworkBundle] added 'document_root' option for File objects 2011-01-21 17:13:05 +01:00
Johannes M. Schmitt
bdc7ae8c52 show cookies in response headers 2011-01-21 17:06:04 +01:00
Johannes M. Schmitt
8d19136a55 refactors extensions to call XXXLoad only once with all config sections 2011-01-21 17:04:18 +01:00
Fabien Potencier
bd6bc4db62 [HttpKernel] changed Kernel::locateResource() to also work with directories 2011-01-21 16:42:57 +01:00
Fabien Potencier
645528c9c6 fixed typo 2011-01-21 16:28:24 +01:00
Henrik Bjørnskov
5e9c9f4174 Template rename fix files 2011-01-21 15:06:10 +01:00
Henrik Bjørnskov
a5007febdd [FrameworkBundle] Renderer is once more the last of the templates 2011-01-21 15:06:10 +01:00
Christophe Coevoet
1e793a2500 Fixed init:bundle 2011-01-21 14:19:51 +01:00
Fabien Potencier
4e0ecfdf81 [FrameworkBundle] fixed init:bundle 2011-01-21 12:58:46 +01:00
Fabien Potencier
a8e0a22011 [FrameworkBundle] fixed SecurityContext when security is disabled 2011-01-21 12:32:21 +01:00
Fabien Potencier
8649debb06 [Routing] fixed imports from the current directory 2011-01-21 12:06:06 +01:00
Johannes M. Schmitt
507da2a1ab some performance tweaks
This adds lazy loading for firewall configurations. This is useful when you have multiple firewalls, only the firewalls which are actually needed to process the Request are initialized. So, your event dispatcher is not as costly to initialize anymore.

It also implements re-using of RequestMatchers if all matching rules are the same, and exposes the remaining rules which are already implemented by the request matcher (host, ip, methods) in the access-control section
2011-01-21 11:57:43 +01:00
Thomas
dd20434227 fix kernel:locateResource to loop accross the bundle tree to find the first match 2011-01-21 11:52:51 +01:00
Fabien Potencier
0b0c15b7b6 made XSD less strict when possible 2011-01-21 10:53:13 +01:00
Fabien Potencier
1583c8b9ef updated bootstrap file 2011-01-21 10:51:51 +01:00
Daniel Holmes
e135c14538 Allow arbitrary ordering of config elements in symfony xml config 2011-01-21 09:55:55 +01:00
Ryan Weaver
17f9162b89 [Standards] Changing many instances of "boolean" to "Boolean". 2011-01-21 09:53:24 +01:00
Fabien Potencier
e6f1248151 [HttpKernel] added back Bundle::getName() as it is quite useful 2011-01-21 09:45:37 +01:00
Fabien Potencier
6d1e91a1fa refactored bundle management
Before I explain the changes, let's talk about the current state.

Before this patch, the registerBundleDirs() method returned an ordered (for
resource overloading) list of namespace prefixes and the path to their
location. Here are some problems with this approach:

 * The paths set by this method and the paths configured for the autoloader
   can be disconnected (leading to unexpected behaviors);

 * A bundle outside these paths worked, but unexpected behavior can occur;

 * Choosing a bundle namespace was limited to the registered namespace
   prefixes, and their number should stay low enough (for performance reasons)
   -- moreover the current Bundle\ and Application\ top namespaces does not
   respect the standard rules for namespaces (first segment should be the
   vendor name);

 * Developers must understand the concept of "namespace prefixes" to
   understand the overloading mechanism, which is one more thing to learn,
   which is Symfony specific;

 * Each time you want to get a resource that can be overloaded (a template for
   instance), Symfony would have tried all namespace prefixes one after the
   other until if finds a matching file. But that can be computed in advance
   to reduce the overhead.

Another topic which was not really well addressed is how you can reference a
file/resource from a bundle (and take into account the possibility of
overloading). For instance, in the routing, you can import a file from a
bundle like this:

  <import resource="FrameworkBundle/Resources/config/internal.xml" />

Again, this works only because we have a limited number of possible namespace
prefixes.

This patch addresses these problems and some more.

First, the registerBundleDirs() method has been removed. It means that you are
now free to use any namespace for your bundles. No need to have specific
prefixes anymore. You are also free to store them anywhere, in as many
directories as you want. You just need to be sure that they are autoloaded
correctly.

The bundle "name" is now always the short name of the bundle class (like
FrameworkBundle or SensioCasBundle). As the best practice is to prefix the
bundle name with the vendor name, it's up to the vendor to ensure that each
bundle name is unique. I insist that a bundle name must be unique. This was
the opposite before as two bundles with the same name was how Symfony2 found
inheritance.

A new getParent() method has been added to BundleInterface. It returns the
bundle name that the bundle overrides (this is optional of course). That way,
there is no ordering problem anymore as the inheritance tree is explicitely
defined by the bundle themselves.

So, with this system, we can easily have an inheritance tree like the
following:

FooBundle < MyFooBundle < MyCustomFooBundle

MyCustomFooBundle returns MyFooBundle for the getParent() method, and
MyFooBundle returns FooBundle.

If two bundles override the same bundle, an exception is thrown.

Based on the bundle name, you can now reference any resource with this
notation:

    @FooBundle/Resources/config/routing.xml
    @FooBundle/Controller/FooController.php

This notation is the input of the Kernel::locateResource() method, which
returns the location of the file (and of course it takes into account
overloading).

So, in the routing, you can now use the following:

    <import resource="@FrameworkBundle/Resources/config/internal.xml" />

The template loading mechanism also use this method under the hood.

As a bonus, all the code that converts from internal notations to file names
(controller names: ControllerNameParser, template names: TemplateNameParser,
resource paths, ...) is now contained in several well-defined classes. The
same goes for the code that look for templates (TemplateLocator), routing
files (FileLocator), ...

As a side note, it is really easy to also support multiple-inheritance for a
bundle (for instance if a bundle returns an array of bundle names it extends).
However, this is not implemented in this patch as I'm not sure we want to
support that.

How to upgrade:

 * Each bundle must now implement two new mandatory methods: getPath() and
   getNamespace(), and optionally the getParent() method if the bundle extends
   another one. Here is a common implementation for these methods:

    /**
     * {@inheritdoc}
     */
    public function getParent()
    {
        return 'MyFrameworkBundle';
    }

    /**
     * {@inheritdoc}
     */
    public function getNamespace()
    {
        return __NAMESPACE__;
    }

    /**
     * {@inheritdoc}
     */
    public function getPath()
    {
        return strtr(__DIR__, '\\', '/');
    }

 * The registerBundleDirs() can be removed from your Kernel class;

 * If your code relies on getBundleDirs() or the kernel.bundle_dirs parameter,
   it should be upgraded to use the new interface (see Doctrine commands for
   many example of such a change);

 * When referencing a bundle, you must now always use its name (no more \ or /
   in bundle names) -- this transition was already done for most things
   before, and now applies to the routing as well;

 * Imports in routing files must be changed:
    Before: <import resource="Sensio/CasBundle/Resources/config/internal.xml" />
    After:  <import resource="@SensioCasBundle/Resources/config/internal.xml" />
2011-01-20 18:42:47 +01:00
Jordi Boggiano
252918beb2 [TwigBundle] Fixed RenderTokenParser when with isn't used and options are provided 2011-01-20 16:47:54 +01:00
Ryan Weaver
ea2cb49696 [TwigBundle] Improving the PHPDoc on the FormExtension inside the TwigBundle. 2011-01-20 16:37:36 +01:00
Ryan Weaver
cf1512dce8 [Form] Fixing the object versus normalized data PHPDoc on Field, which I believe was backwards. 2011-01-20 16:37:33 +01:00
Ryan Weaver
d41b4ec109 [Form] adding PHPDoc and some small PHPDoc changes. 2011-01-20 16:37:31 +01:00
Ryan Weaver
82283db789 [Form] Making the constructor inherit docs. 2011-01-20 16:37:27 +01:00
Fabien Potencier
67f13fee9e [HttpKernel] made a small tweak 2011-01-20 11:38:17 +01:00
Fabien Potencier
24ff22af07 [HttpFoundation] added a directory fallback for when the class is not found in registered namespaces and class prefixes 2011-01-20 10:20:14 +01:00
Jeremy Mikola
e414e06327 [HttpKernel] Fix AccessDecisionManagerInterface::decide() invocation in SwitchUserListener 2011-01-20 07:14:46 +01:00
Bulat Shakirzyanov
04fd4194b5 [DoctrineMongoDBBundle] fixed typo, updated extension test to reflection validation addon 2011-01-20 07:13:37 +01:00
Victor Berchet
b75840c6fc DI Extension: use the base class from the HttpKernel Component 2011-01-19 22:08:41 +01:00
Bulat Shakirzyanov
6d52645861 [DoctrineMongoDBBundle] registered new validation namespace for annotations 2011-01-19 21:50:51 +01:00
Bulat Shakirzyanov
1cbd0caa89 [DoctrineMongoDBBundle] added unique constraint, validator and test, registered validator in DIC 2011-01-19 21:50:47 +01:00
Johannes M. Schmitt
84fa4b50db adds setArgument to Definition 2011-01-19 21:48:56 +01:00
Bernhard Schussek
d143eaad72 [Validator] Fixed XML schema 2011-01-19 16:50:45 +01:00
Jordi Boggiano
8800452b1c [Form] Fixed some documentation 2011-01-19 16:37:02 +01:00
Jordi Boggiano
d928632583 [Form] Made RepeatedField sub-field names configurable 2011-01-19 16:36:57 +01:00
Bernhard Schussek
d327a90ff2 [Validator] Added namespace prefix support for XML and YAML loaders 2011-01-19 16:25:50 +01:00
Bernhard Schussek
2d7c47e488 [Validator] Each object is now only validated once for a given group 2011-01-19 16:25:50 +01:00