Commit Graph

454 Commits

Author SHA1 Message Date
Fabien Potencier
1a37b78078 reverted #4542 2012-07-05 07:56:16 +02:00
Fabien Potencier
7ac10fefa0 merged branch jalliot/load-class-cache (PR #4542)
Commits
-------

f09789b [FrameworkBundle] Generate the class cache when warming up the cache

Discussion
----------

[FrameworkBundle] Generate the class cache when warming up the cache

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/jalliot/symfony.png?branch=load-class-cache)](http://travis-ci.org/jalliot/symfony)
Fixes the following tickets: -
Todo: -

With this PR, the commands `cache:clear` (if `--no-warmup` hasn't been specified) and `cache:warmup` generate the class cache. Now the first page load after clearing the cache does not take over one second anymore :)
Of course, if someone does not want to use the class cache for whatever reason, he can always remove the `$kernel->loadClassCache()` in his front controller and the cache will just be ignored...

On a side note, can someone explain why [SensioDistributionBundle does not warmup the cache in the Composer post-install script](https://github.com/sensio/SensioDistributionBundle/blob/master/Composer/ScriptHandler.php#L48)?

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

by travisbot at 2012-06-10T05:18:30Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1579114) (merged baecbaee into 6266b72d).

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

by travisbot at 2012-06-10T05:24:48Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1579154) (merged f09789b1 into 6266b72d).

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

by jalliot at 2012-06-28T23:18:54Z

@fabpot ping
2012-07-01 23:19:22 +02:00
Xavier Lacot
e44e21c2e9 Reverted to Symfony 2.0's signature, which made it simple to display only a subset of the routes of the application.
This is particularly useful for FOSJsRoutingBundle's fos:js-routing:debug command, which allows to filter the list of javascript-exposed routes.
2012-06-28 18:29:35 +02:00
everzet
d4a09881f1 [FrameworkBundle] added configuration interface check
Added check for ConfigurationInterface to config ref dumping
command. To ensure that configuration implements needed
`getConfigTreeBuilder()` command
2012-06-26 10:46:00 +02:00
Eduardo Gulias
4bfb6fddf7 [FrameworkBundle][Command] ContainerDebugCommand - Changed visibility to allow re use in childs 2012-06-26 09:01:12 +02:00
Jordan Alliot
f09789b192 [FrameworkBundle] Generate the class cache when warming up the cache 2012-06-09 22:38:58 +02:00
Fabien Potencier
58b924533a removed unused use statements 2012-05-19 09:24:13 +02:00
Fabien Potencier
d48d88a05a merged 2.0 2012-05-19 09:24:03 +02:00
Fabien Potencier
cf11cc067f removed unused use statements 2012-05-19 09:22:59 +02:00
Fabien Potencier
3bdf52a16a fixed CS 2012-05-18 19:42:42 +02:00
Sebastiaan Stok
498b81409f [FrameworkBundle] minor fix in TranslationUpdateCommand <info> was not properly closed. 2012-05-13 16:37:31 +03:00
Stéphane PY
bc63fb26be Fix some cs 2012-05-04 00:17:06 +02:00
lsmith77
98a00526ad improved readability 2012-04-17 10:08:22 +02:00
lsmith77
b06537e351 refactored code to use get() when outputting a single route
this is useful for a CMS, where in most cases there will be too many routes to make it feasible to load all of them. here a router implementation will be used that will return an empty collection for ->all(). with this refactoring the given routes will not be listed via router:debug, but would still be shown when using router:debug [name]
2012-04-17 10:08:13 +02:00
Hugo Hamon
809933f55b [FrameworkBundle] fixed translation:update command description. 2012-04-11 08:57:57 +02:00
Fabien Potencier
e1362c6697 [FrameworkBundle] made log output optional depending on the verbose flag 2012-03-23 14:17:57 +01:00
Fabien Potencier
30cd43c68a fixed CS 2012-03-23 14:14:07 +01:00
Fabien Potencier
9d77078d3d merged branch michal-pipa/server (PR #3465)
Commits
-------

df11e62 [FrameworkBundle] Used $output->write() instead of echo
c3bf479 [FrameworkBundle] Used Process component
cfa2dff [FrameworkBundle] Changed server:run command description
e7d38c1 [FrameworkBundle] Changed PHP version detection (see: #3529)
4a3f6d5 [FrameworkBundle] Removed global variable from router script
519d431 [FrameworkBundle] Fixed built-in server router script
d9a0a17 [FrameworkBundle] Added server:run command

Discussion
----------

[FrameworkBundle] Added server:run command (PHP 5.4 built-in web server)

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/michal-pipa/symfony.png?branch=server)](http://travis-ci.org/michal-pipa/symfony)
Fixes the following tickets: -
Todo: -

PHP 5.4 comes with [built-in web server](http://www.php.net/manual/en/features.commandline.webserver.php). I've created command which allows to easily run Symfony2 application using this new feature.

    Usage:
     server:run [-d|--docroot="..."] [-r|--router="..."] [address]

    Arguments:
     address        Address:port (default: 'localhost:8000')

    Options:
     --docroot (-d) Document root (default: 'web/')
     --router (-r)  Path to custom router script

    Help:
     The server:run runs Symfony2 application using PHP built-in web server:

       app/console server:run

     To change default bind address and port use the address argument:

       app/console server:run 127.0.0.1:8080

     To change default docroot directory use the --docroot option:

       app/console server:run --docroot=htdocs/

     If you have custom docroot directory layout, you can specify your own
     router script using --router option:

       app/console server:run --router=app/config/router.php

     See also: http://www.php.net/manual/en/features.commandline.webserver.php

It requires PHP 5.4, otherwise this command will be disabled.

I think that this is very convenient (especially for new users). All you have to do is download Symfony, install vendors and run this command. You don't have to configure "real" web server, in fact any other server is not required. You don't have cache and logs permission problem, because server runs with your local user permissions.

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

by blogsh at 2012-03-06T17:38:10Z

Great feature! I was about to write something like this when I saw that you have already started implementing this :)

Some issues:
1. Missing newlines at the end of the files
2. If I try this server command with the default Symfony Standard Edition Acme demo the links on the main page do not work. The demo link links to "//demo" and the configurator link to "//_configurator". If I go to `localhost:8000/demo` directly the page is rendered as usual and all sub links are generated correctly. I could solve the problem by adding one line:

    $_SERVER['SCRIPT_FILENAME'] = 'ANYTHING';
    require 'app_dev.php';

I'm not sure where this problem comes from. Do you experience the same behaviour? Otherwise I'll do some more investigations to find the source of the problem.

3 . I think it would be a nice feature if you would generate a router.php based on the setting of the --env flag if no custom router file has been specified. This way it would be easy to switch between dev and prod.

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

by michal-pipa at 2012-03-06T19:00:24Z

@blogsh

> Missing newlines at the end of the files

I've checked and I can see newlines at the end of files. Are you sure about this?

> If I try this server command with the default Symfony Standard Edition Acme demo the links on the main page do not work. The demo link links to "//demo" and the configurator link to "//_configurator". If I go to localhost:8000/demo directly the page is rendered as usual and all sub links are generated correctly. I could solve the problem by adding one line:
>
>     $_SERVER['SCRIPT_FILENAME'] = 'ANYTHING';
>     require 'app_dev.php';
>
> I'm not sure where this problem comes from. Do you experience the same behaviour? Otherwise I'll do some more investigations to find the source of the problem.

I can reproduce this by changing front controller name from  `app.php` to `app_dev.php`. I'll investigate on this.

> I think it would be a nice feature if you would generate a router.php based on the setting of the --env flag if no custom router file has been specified. This way it would be easy to switch between dev and prod.

You can easily change environment specifying front controller in URL. It works exactly the same way as default Apache configuration. This is intended behavior, as it would be misleading if every server had different rewrite rules.

If you really want to change it, then you can write your own router and pass it as a value to `router` option.

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

by blogsh at 2012-03-06T19:13:55Z

Wasn't aware that github omits the trailing white line, sorry.
Normally I use a rather inflexible nginx configuration, so I also wasn't aware of this (rather obvious) trick of changing the url. Thanks for that.

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

by stof at 2012-03-06T22:12:16Z

@blogsh it does not omit it. It displays it in the Linux way where the newline char is part of the line (and so there is a message ``no newline at end of file`` in the diff when it is missing).

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

by michal-pipa at 2012-03-07T07:18:23Z

@blogsh I've fixed router script. Now you can use both front controllers.

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

by michal-pipa at 2012-03-07T07:34:58Z

I've also hardcoded front controller name in router script and removed global variable, as there was no way to unset it.

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

by michal-pipa at 2012-03-13T07:57:04Z

I've used Process component, but now I don't get any stdout output (only stderr).

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

by michal-pipa at 2012-03-13T18:01:58Z

I've replaced `echo` by `$output->write()` and removed `$process` as it was not used actually.
2012-03-23 13:56:46 +01:00
Tobias Schultze
304e13daa3 replaced command names with supported placeholders in help texts 2012-03-21 05:31:52 +01:00
Fabien Potencier
91e977d38c fixed CS for previous merge 2012-03-16 13:29:17 +01:00
Rafael Dohms
2c4a43d91d Made option to use symlink explicit in the output. This can clear up any issues for example when running composer update to know if assets:install did a symlink or hard copy.
On a general it just makes communication a bit clearer on what is being executed.
2012-03-16 12:37:18 +01:00
Michał Pipa
df11e6287a [FrameworkBundle] Used $output->write() instead of echo 2012-03-13 18:54:56 +01:00
Michał Pipa
c3bf479b14 [FrameworkBundle] Used Process component 2012-03-13 08:53:22 +01:00
Michał Pipa
cfa2dff5ce [FrameworkBundle] Changed server:run command description 2012-03-13 08:47:19 +01:00
Michał Pipa
e7d38c1381 [FrameworkBundle] Changed PHP version detection (see: #3529) 2012-03-13 08:38:03 +01:00
Sebastian Busch
afbb8f215c Fixed misleading help for "name" argument as search for services with wildcards is not implemented 2012-03-07 12:09:07 +01:00
Michał Pipa
d9a0a17e17 [FrameworkBundle] Added server:run command 2012-02-27 22:48:07 +01:00
Fabien Potencier
3e326ff903 fixed typo 2012-02-18 10:47:38 +01:00
Fabien Potencier
92cb685ebc fixed CS 2012-02-10 13:35:11 +01:00
Jeremy Mikola
42c98921a2 [FrameworkBundle] Allow cache:clear/warmup to skip optional warmers 2012-02-08 20:16:02 -05:00
kbond
4847d3ad35 renamed command 2012-02-02 11:47:41 -05:00
Kevin Bond
e97af0bac0 code fixes 2012-02-02 08:20:37 -05:00
kbond
df94282dab [FrameworkBundle] removed unnecessary DebugCommand 2012-02-02 08:20:37 -05:00
kbond
8dc40e4d29 [FrameworkBundle] added config:dump console command 2012-02-02 08:20:37 -05:00
Christian Raue
9db6c8d28a print info about environment and debug mode when running the CacheWarmupCommand 2012-01-29 22:53:47 +01:00
Fabien Potencier
ca8dc87940 merged 2.0 2012-01-09 11:51:30 +01:00
Hugo Hamon
7eb1c436ae [FrameworkBundle] harmonized commands descriptions. 2012-01-09 10:01:34 +01:00
Fabien Potencier
05285e429c merged branch dustin10/cache-clearers (PR #2857)
Commits
-------

3ae976c fixed CS
84ad40d added cache clear hook

Discussion
----------

[Cache][2.1] Added cache clear hook

Allows bundles to hook into the `cache:clear` command by using the `kernel.cache_clearer` tag instead of using the `event_dispatcher` service.

See #1884

Bug fix: No
Feature addition: Yes
Backwards compatibility break: No
Symfony2 tests pass: Yes
Fixes the following tickets: #1884
References the following tickets: #1884

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

by dustin10 at 2011/12/16 11:03:54 -0800

Rebased to squash all commits into one.

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

by lsmith77 at 2011/12/17 05:27:29 -0800

@fabpot: we figured that priorities wouldn't be needed for cleaning .. haven't tested the PR, but conceptually it looks good to me and aside from the priority stuff its modeled after the cache warners.

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

by dustin10 at 2011/12/19 09:46:26 -0800

@fabpot Updated to pass cache dir to `clear` method.

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

by dustin10 at 2011/12/19 10:02:21 -0800

@stof and @fabpot Another thought I just had. Should the `$this->getContainer()->get('cache_clearer')->clear($realCacheDir);` call in the `CacheClearCommand` be done before the warming?

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

by stof at 2011/12/19 10:03:59 -0800

indeed. the clearing should be done before the warming.

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

by dustin10 at 2011/12/19 10:19:28 -0800

Squashed all commits into one. Let me know if there is anything else.

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

by dustin10 at 2011/12/19 10:31:50 -0800

Fixed extra lines.
2011-12-19 19:52:15 +01:00
Dustin Dobervich
3ae976cd5a fixed CS 2011-12-19 12:30:32 -06:00
Dustin Dobervich
84ad40dcc8 added cache clear hook 2011-12-19 12:17:48 -06:00
Fabien Potencier
142cef21bb merged 2.0 2011-12-13 16:12:53 +01:00
Fabien Potencier
e3421a0b1d [DoctrineBridge] fixed some CS 2011-12-13 10:22:12 +01:00
Fabien Potencier
fd12796673 merged 2.0 2011-12-11 18:50:50 +01:00
Robert Gruendler
40e5b609b2 [FrameworkBundle] added return type for getContainer() 2011-12-09 22:04:44 +01:00
Fabien Potencier
d34d50f0b0 fixed CS 2011-10-29 12:05:45 +02:00
Fabien Potencier
dec43f5539 merged 2.0 2011-10-29 12:01:39 +02:00
Fabien Potencier
851eb73778 removed unused use statements 2011-10-29 11:56:30 +02:00
Fabien Potencier
8cc3158d89 [FrameworkBundle] added a command to help debugging route matching problems 2011-10-24 09:08:38 +02:00
Richard Miller
79638d3734 Removed abstract as these services will not appear anyway 2011-10-18 14:02:24 +01:00
Richard Miller
312b20f94b [FrameworkBundle] Added more info to debug command output 2011-10-18 13:54:39 +01:00
Richard Miller
1768544710 Changed debug output to say Service Id rather than name for the service ids 2011-10-17 14:03:16 +01:00
Fabien Potencier
f45b1df38c merged branch stof/router_check (PR #2409)
Commits
-------

63d2ce2 [FrameworkBundle] Fixed the ckeck for the router class

Discussion
----------

[FrameworkBundle] Fixed the ckeck for the router class

The getRouteCollection method is now part of the RouterInterface so the
command should accept any implementation of the interface instead of just
the implementations extending the core one.
2011-10-16 22:37:48 +02:00
Hugo Hamon
64d970ef2d [FrameworkBundle] removed "use" statements for unused classes. 2011-10-16 18:42:34 +02:00
Christophe Coevoet
63d2ce28fd [FrameworkBundle] Fixed the ckeck for the router class
The getRouteCollection method is now part of the RouterInterface so the
command should accept any implementation of the interface instead of just
the implementations extending the core one.
2011-10-16 13:56:51 +02:00
Fabien Potencier
bfb99bf219 [FrameworkBundle] added a --relative option to assets:install 2011-09-28 17:38:41 +02:00
Fabien Potencier
258a1fd710 moved makePathRelative to Filesystem 2011-09-28 17:37:32 +02:00
Fabien Potencier
8cb0cc67d6 merged branch CodeMeme/assets-install-relative-symlink (PR #1173)
Commits
-------

dd20f01 Fixed assets:install to use a relative path instead of an absolute

Discussion
----------

[2.1] Fixed "assets:install" to create relative instead of absolute symlinks

This is a fairly simple fix so that the symlinks are relative to the resources rather than an absolute path that breaks from machine-to-machine or upon deployment.

We were trying to figure out why styles were messed up for other contributors, but then found that the paths were hard-coded for my machine :)

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

by ericclemmons at 2011/06/04 09:44:11 -0700

Any other thoughts/updates on this?

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

by fabpot at 2011/06/04 22:31:39 -0700

We have such a feature in symfony1 and IIRC it does not work very well. One problem is when you use symlink for some bundles. Then, you should not use a relative symlink as there is a common path between the two.

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

by ericclemmons at 2011/06/05 09:55:00 -0700

Sorry, I didn't think that we would be an issue since the Bundle "Best Practices" states to not include other bundles as dependencies.

If absolute links are a must, then the next alternative is for collaborators to add "/web/bundles" to .gitignore and each person run "assets:install" upon installation/update.

I was personally hoping there were a way to have this versioned for easier deployment.

On Jun 5, 2011, at 12:31 AM, fabpot<reply@reply.github.com> wrote:

> We have such a feature in symfony1 and IIRC it does not work very well. One problem is when you use symlink for some bundles. Then, you should not use a relative symlink as there is a common path between the two.
>
> --
> Reply to this email directly or view it on GitHub:
> https://github.com/symfony/symfony/pull/1173#issuecomment-1303600

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

by henrikbjorn at 2011/06/27 04:56:58 -0700

``` php
<?php
// ...
->addOption('relative', null, InputOption::VALUE_NONE, 'The --symlink option will generate relative paths')
// ...
```

and just default to absolute paths ?

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

by ericclemmons at 2011/06/27 08:37:50 -0700

I'm very supportive of that compromise.  Up to @fabpot if I should add this back in, since relative paths were apparently problematic with symfony1.

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

by sbusch at 2011/07/15 08:46:01 -0700

+1

I'm developing on Mac and the files are mounted on a Linux box which serves the project. The paths are not the same on those two systems. If I accidentally install assets on my Mac the absolute paths won't work on the Linux webserver.

Other scenario: one teammate could add those symlinks by accident to the git repository, which breaks all other installations.

Relative symlinks could help a lot in these cases.

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

by ericclemmons at 2011/07/15 08:47:53 -0700

@sbusch Your issues are the same as mine, which prompted this ticket :)

Until this gets @fabpot's blessing, it's best to simply add `web/bundles` to your `.gitignore` file and tell your users to always run `assets:install --symlink` each time they pull down code & something breaks ;)

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

by sbusch at 2011/07/15 08:58:33 -0700

The handling (calculation) of relative symlinks IMO fits better to the `symlink()` method of `\Symfony\Component\HttpKernel\Util\Filesystem`. Possible method signature:

symfony/src/Symfony/Component/HttpKernel/Util/Filesystem.php:

```php
<?php
// ...

    /**
     * Creates a symbolic link or copy a directory.
     *
     * @param string  $originDir     The origin directory path
     * @param string  $targetDir     The symbolic link name
     * @param Boolean $copyOnWindows Whether to copy files if on Windows
     * @param Boolean $makeRelative  Whether to try to create a relative link
     */
    public function symlink($originDir, $targetDir, $copyOnWindows = false, $makeRelative = false)
    {
```

And what about changing the `--symlink` option to optionally have a value, instead of adding a new depending option? E.g. `--symlink[=absolute|relative]`, with "absolute" as default:

symfony/src/Symfony/Bundle/FrameworkBundle/Command/AssetsInstallCommand.php:

```php
<?php
// ...

class AssetsInstallCommand extends ContainerAwareCommand
{
    /**
     * @see Command
     */
    protected function configure()
    {
        $this
            ->setDefinition(array(
                new InputArgument('target', InputArgument::REQUIRED, 'The target directory (usually "web")'),
            ))
            ->addOption('symlink', null, InputOption::VALUE_OPTIONAL, 'Symlinks the assets instead of copying it. Allowed values: "absolute" (default) and "relative".', 'absolute')
            ->setHelp(<<<EOT
The <info>assets:install</info> command installs bundle assets into a given
directory (e.g. the web directory).

<info>./app/console assets:install web [--symlink]</info>

A "bundles" directory will be created inside the target directory, and the
"Resources/public" directory of each bundle will be copied into it.

To create a symlink to each bundle instead of copying its assets, use the
<info>--symlink</info> option. Use <info>--symlink=relative</info> for relative symlinks.
EOT
            )
            ->setName('assets:install')
        ;
    }

    /**
     * @see Command
     *
     * @throws \InvalidArgumentException When the target directory does not exist
     */
    protected function execute(InputInterface $input, OutputInterface $output)
    {
        if (!is_dir($input->getArgument('target'))) {
            throw new \InvalidArgumentException(sprintf('The target directory "%s" does not exist.', $input->getArgument('target')));
        }

        if ($input->hasOption('symlink'))
        {
            if (!function_exists('symlink')) {
                throw new \InvalidArgumentException('The symlink() function is not available on your system. You need to install the assets without the --symlink option.');
            }
            if (!in_array($input->getOption('symlink'), array('absolute', 'relative'))) {
                throw new \InvalidArgumentException(sprintf('Invalid value "%s" for option "symlink"', $input->getOption('symlink')));
            }
        }

        $filesystem = $this->getContainer()->get('filesystem');

        // Create the bundles directory otherwise symlink will fail.
        $filesystem->mkdir($input->getArgument('target').'/bundles/', 0777);
        foreach ($this->getContainer()->get('kernel')->getBundles() as $bundle) {
            $originDir = $bundle->getPath().'/Resources/public';
            if (is_dir($originDir)) {
                $targetDir = $input->getArgument('target').'/bundles/'.preg_replace('/bundle$/', '', strtolower($bundle->getName()));
                $output->writeln(sprintf('Installing assets for <comment>%s</comment> into <comment>%s</comment>', $bundle->getNamespace(), $targetDir));

                $filesystem->remove($targetDir);

                if ($input->hasOption('symlink')) {
                    $filesystem->symlink($originDir, $targetDir, false, $input->getOption('symlink') == 'relative');
                } else {
                    $filesystem->mkdir($targetDir, 0777);
                    $filesystem->mirror($originDir, $targetDir);
                }
            }
        }
    }
```

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

by sbusch at 2011/07/15 09:04:46 -0700

@ericclemmons: yes, that's our current workaround. I started with manually converting absolute links to relative ones, but that quickly got very annoying ;-)

After that I tried to implement the generation of relative links by myself (where the proposals of my previous comment come from) until I found your PR.

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

by henrikbjorn at 2011/07/18 00:20:38 -0700

@sbush if it defaults to something how would you turn it off ?

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

by stof at 2011/07/18 00:26:16 -0700

@henrikbjorn a default value for the option is used when using ``--symlink`` without the value. If you don't use the option at all, it is disabled.

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

by stof at 2011/07/18 11:58:29 -0700

In fact no. The default value seems to be also used when the option is not set at all. @fabpot is this intended ?

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

by Seldaek at 2011/07/19 05:18:29 -0700

Symlinks on windows, although technically possible, don't quite work with PHP on most setups. Also git doesn't seem to support them either on windows (not sure why not). For those reasons, and although I'm sure this doesn't apply to every project, I would recommend you just have everyone run `assets:install [--symlink]` on their local machine, and make that command run on the server as part of your deployment process.

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

by ericclemmons at 2011/07/19 06:15:34 -0700

Nobody is even entertaining --relative?

On Jul 19, 2011, at 7:18 AM, Seldaek<reply@reply.github.com> wrote:

> Symlinks on windows, although technically possible, don't quite work with PHP on most setups. Also git doesn't seem to support them either on windows (not sure why not). For those reasons, and although I'm sure this doesn't apply to every project, I would recommend you just have everyone run `assets:install [--symlink]` on their local machine, and make that command run on the server as part of your deployment process.
>
> --
> Reply to this email directly or view it on GitHub:
> https://github.com/symfony/symfony/pull/1173#issuecomment-1606463

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

by Gregwar at 2011/08/10 08:56:27 -0700

I agree with the idea of proposing a --relative option, I'm currently working on a Samba mounted filesystem and I'm forced to create manually symlinks to get things working since the paths are not the same
2011-09-28 17:29:06 +02:00
Fabien Potencier
063e6f9ae6 merged branch Seldaek/commands (PR #1470)
Commits
-------

d675c28 [FrameworkBundle] Use Router instead of RouterInterface
ae7ae8d [FrameworkBundle] Moved router_listener from web to router.xml since it depends on the router
35a9023 [FrameworkBundle] Added isEnabled to Router commands, fixes #1467
536d979 [Console] Added Command::isEnabled method that defines whether to add the command or not

Discussion
----------

[2.1] [Console] Added Command::isEnabled method

This addresses #1467.

The idea is to allow commands to evaluate whether they can run or not, since they are automatically registered.

- It's useful for the two router:* commands since they're optional (router can be disabled), but part of the FrameworkBundle that is not really optional.
- It could be useful for third party code as well.
- It's BC.
- aa95bb0d395810b29a3e654673e130736d9d1080 should address the issue in #1467, while the other commits just make sure the command is not registered at all if the router isn't standard.

One issue remains though:

- A few other services like twig helpers get the `ròuter` injected, this means that if there is really **no** router service defined, there is still an error. I'm not sure how to fix those beyond adding `on-invalid="null"` but I'm not sure if that's desirable. I guess we could argue that the router is a big candidate for replacement/suppression, and as such it should be truly optional, but if we do it I don't know where it'll lead. I don't want to end up in a situation where half the dependencies are optional to support every possible combination. @fabpot wdyt?

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

by kriswallsmith at 2011/06/28 16:19:46 -0700

I'd rather see us not register a command instead of register and then disable it. Can we do the same thing you've done here in the bundle's registerCommands() method?

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

by Seldaek at 2011/06/28 16:51:36 -0700

Note that it's never really registered. During the registration it's checked and skipped if not enabled.

However, doing it as you suggest means overriding/copy-pasting all the code from the core Bundle class, which I don't like so much. It also means adding code specific to those two commands in a somewhat unrelated place, which I also don't like.

I'm not saying the current solution is perfect, but from the alternatives I considered, it's the best I have found.

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

by stof at 2011/09/04 04:58:04 -0700

@Seldaek your branch conflicts with master. could you rebase it ?

@fabpot what do you think about this PR ?

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

by Seldaek at 2011/09/04 08:39:05 -0700

Rebased
2011-09-27 15:48:10 +02:00
Johannes Schmitt
9b025b795c fixed typo 2011-09-19 14:48:19 +02:00
Michel Salib
ef322f680d -- add command that extracts translation messages from templates
-- add missing files

-- tweak translation command files

-- dumpers are now responsive for writting the files

-- moved the twig extractor the bridge

-- clear temp files after unit tests
-- check the presence of dumper in translation writer

-- General cleaning of the code

-- clean phpDoc

-- fix PHPDoc

-- fixing class name in configuration

-- add unit tests for extractors (php and twig)

-- moved test to correct location

-- polish the code

-- polish the code
2011-09-09 10:23:54 +02:00
Fabien Potencier
1c0b48930d Merge branch '2.0'
* 2.0:
  [Validator] Sync polish translation
  [FrameworkBundle] sanitize target arg in asset:install command
  few optimisations for XliffFileLoader and XmlFileLoader
  [FrameworkBundle] Sync the Russian translations
  [FrameworkBundle] Added Dutch validator translation for trans-unit 41
  [FrameworkBundle] Updated German validator translation
  [FrameworkBundle] Fixed a typo in the translation file per @PeymanHR
2011-09-06 09:00:04 +02:00
stealth35
3a7e038fb9 [FrameworkBundle] sanitize target arg in asset:install command 2011-09-05 15:17:10 +02:00
Jordi Boggiano
d675c28123 [FrameworkBundle] Use Router instead of RouterInterface 2011-09-04 21:53:06 +02:00
Jordi Boggiano
35a9023b3e [FrameworkBundle] Added isEnabled to Router commands, fixes #1467 2011-09-04 17:12:35 +02:00
Fabien Potencier
e7b2d2d659 merged 2.0 branch 2011-09-04 09:28:37 +02:00
Fabien Potencier
0eae562cb2 converted file_exists calls to either is_file or is_dir where it makes sense 2011-08-29 15:28:26 +02:00
Jordan Alliot
24bacdcd3b Ignore VCS files in assets:install command (closes #2025) 2011-08-26 09:36:52 +01:00
Fabien Potencier
283097db09 Revert "expanded namespaces within phpdoc (special for PhpStorm)"
This reverts commit 6e7439e73a.
2011-08-13 19:27:36 +02:00
realmfoo
6e7439e73a expanded namespaces within phpdoc (special for PhpStorm) 2011-08-10 11:16:31 +04:00
Ryan Weaver
6738d2b6f8 [FrameworkBundle] Adding information about exactly which cache is being cleared. 2011-08-07 14:02:33 -05:00
Hugo Hamon
08072e4595 [FrameworkBundle] harmonized commands documentation by changing ./app/console to php app/console. 2011-07-28 10:01:00 +02:00
Hugo Hamon
1c082b8133 [FrameworkBundle] added short description for the assets:install command. 2011-07-28 09:52:34 +02:00
Fabien Potencier
e2eb601ebd [FrameworkBundle] fixed absolute paths to the cache directory after running cache:clear (closes #1725) 2011-07-18 17:38:41 +02:00
Fabien Potencier
9cd15908f3 [FrameworkBundle] fixed cache:clear command when the kernel class is not AppKernel 2011-06-26 18:34:40 +02:00
Fabien Potencier
600cd415e6 [FrameworkBundle] fixed cache:clear command 2011-06-26 14:36:25 +02:00
Fabien Potencier
7117f41b38 [FrameworkBundle] removed init:bundle (replaced by the generator bundle in Symfony SE) 2011-06-22 11:45:17 +02:00
Fabien Potencier
25e99e894b renamed Command to ContainerAwareCommand 2011-06-20 21:04:55 +02:00
Richard Miller
346cbf352a [FrameworkBundle] Added missing word to ContainerDebugCommand help message. 2011-06-10 17:56:06 +01:00
Fabien Potencier
d528b7481f fixed typo 2011-06-08 15:20:37 +02:00
Fabien Potencier
12dd52b00b [FrameworkBundle] removed the --without-debug option for cache:clear (it now inherits the debug flag from the parent Kernel) 2011-06-08 10:16:10 +02:00
Fabien Potencier
96fc666454 simplified cache warmers
Here are the new simplified rules:

 * Required cache warmers are *always* executed when the Kernel boots for the first time;
 * Optional cache warmers are *only* executed from the CLI via cache:warmup

These new rules means that all the configuration settings for the cache
warmers have been removed. So, if you want the best performance, remember to
warmup the cache when going to production.

This also fixed quite a few bugs.
2011-06-07 11:42:27 +02:00
Eric Clemmons
dd20f0145a Fixed assets:install to use a relative path instead of an absolute 2011-05-31 12:11:36 -07:00
hidenorigoto
c9f188b658 [FrameworkBundle] replaced Util/Mustache to Generator/Generator 2011-05-22 00:10:22 +09:00
Fabien Potencier
0c46797a35 fixed CS 2011-05-09 13:52:49 +02:00
Martin Schuhfuss
ad41d21675 [FrameworkBundle] added errormessage for windows in AssetsInstallCommand
As it has recently been discussed [on the mailing-list][1], windows doesn't
support symlinks for the assets:install command. In order to avoid a 'call to
undefined-function'-message in this case, this patch adds an exception which
will be thrown when the symlink-funktion isn't present and the
`--symlink`-Option was specified.

[1]: https://groups.google.com/group/symfony-devs/browse_thread/thread/4b8ad9634bdab155
2011-05-09 12:11:54 +02:00
Fabien Potencier
11cdff93f3 [FrameworkBundle] refactored container:debug command
* Use a dumper to serialize the container into the cache (XML)
 * Only keep the "real" services (abstract ones are not displayed anymore)
2011-05-01 17:21:20 +02:00
Fabien Potencier
7c95bda751 [Routing] simplified route compiler 2011-04-25 12:38:20 +02:00
Ryan Weaver
6f16820328 [FrameworkBundle] Removing unnecessary and buggy functionality from ContainerDebugCommand 2011-04-19 17:01:22 -05:00
Samuel Laulhau
db90e0ab8d fix Undefined property: Symfony\Bundle\FrameworkBundle\Command\CacheClearCommand:: 2011-04-14 13:11:03 +02:00
Fabien Potencier
27d2b049f8 Merge remote branch 'Seldaek/init_bundle'
* Seldaek/init_bundle:
  [FrameworkBundle] Allow init:bundle to be called with / as namespace separator
2011-04-11 18:39:36 +02:00
Fabien Potencier
92c8edc2b5 Merge remote branch 'weaverryan/router_debug_format_tweak'
* weaverryan/router_debug_format_tweak:
  [FrameworkBundle] router:debug - better string dumping to avoid namespace escaping
2011-04-11 18:39:04 +02:00
Jordi Boggiano
7d61c003da [FrameworkBundle] Allow init:bundle to be called with / as namespace separator 2011-04-10 12:22:25 +02:00
Ryan Weaver
409df12a36 [FrameworkBundle] router:debug - better string dumping to avoid namespace escaping
Before this change, the var_export causes namespaces to be escaped:

Before: 'Symfony\\Component\\...'
After:  Symfony\Component\...
2011-04-09 17:53:33 -05:00
Ryan Weaver
91df6d9f5c [FrameworkBundle] Improving the output and help messages in the task (no behavioral change) 2011-04-09 09:13:24 -05:00
Fabien Potencier
49a7f525b9 Revert "[FrameworkBundle] Updated the files generated by init:bundle to use the new bundle logical names"
This reverts commit d0e2b5b611.
2011-04-04 11:42:52 +02:00
Martin Hason
3baebe4e3b [FrameworkBundle] fixed CS 2011-04-01 10:28:09 +02:00
Fabien Potencier
be702fd426 Merge remote branch 'thesalla/init_bundle_fix'
* thesalla/init_bundle_fix:
  [FrameworkBundle] Updated the files generated by init:bundle to use the new bundle logical names
2011-03-30 15:53:16 +02:00
Fabien Potencier
49d67645d7 [Console] moved Output constants to OutputInterface 2011-03-29 21:53:28 +02:00
Gyula Sallai
d0e2b5b611 [FrameworkBundle] Updated the files generated by init:bundle to use the new bundle logical names 2011-03-29 21:36:00 +02:00
Fabien Potencier
124f1d8e44 moved the Filesystem class form FrameworBundle to HttpKernel (refactored it slightly) 2011-03-26 08:37:10 +01:00
Fabien Potencier
cbe1f6f763 [FrameworkBundle] fixed cache:clear command for non-namespaced AppKernel classes 2011-03-23 07:06:36 +01:00
Fabien Potencier
0ca1d1a8cd [FrameworkBundle] fixed CS 2011-03-22 19:46:08 +01:00
lenar
6ec84bad76 namespaced Kernel support for cache:clear 2011-03-22 19:45:17 +01:00
Fabien Potencier
1991437766 Merge remote branch 'kriswallsmith/router/method-not-allowed' 2011-03-22 16:40:41 +01:00
ornicar
1061194abf [FrameworkBundle] Fix CacheClearCommand help message 2011-03-21 09:21:47 -07:00
Kris Wallsmith
2217a0d7e4 [FrameworkBundle] updated to support 405 Method Not Found responses 2011-03-21 05:58:02 -07:00
Fabien Potencier
85778caba1 [FrameworkBundle] added --without-debug option to cache:clear as the debug flag value can be different from the one used for the command execution (think generating the prod cache but still with debug information when running the command) 2011-03-21 11:29:20 +01:00
Fabien Potencier
e4a636a885 [FrameworkBundle] refactored the cache:clear command
* removed the hack on the Kernel
* removed inheritance from the warmup command
* major cleanup
2011-03-21 11:03:55 +01:00
Fabien Potencier
9cf9f674e8 [FrameworkBundle] simplified cache:clear and cache:warmup implementations 2011-03-21 10:03:58 +01:00
Fabien Potencier
e520956624 [FrameworkBundle] fixed help for cache:warmup 2011-03-21 10:03:32 +01:00
Fabien Potencier
5a528bcb55 [FrameworkBundle] change cache:clear warmup option to no-warmup as most of the time people will want to use the warmup version (especially in production env) 2011-03-21 09:39:28 +01:00
Fabien Potencier
00d47889a2 [FrameworkBundle] removed hardcoded AppKernel class name 2011-03-21 09:33:58 +01:00
Fabien Potencier
b00a903858 [FrameworkBundle] removed clearDir() method in some commands (use Filesystem::remove() instead) 2011-03-21 09:31:04 +01:00
Fabien Potencier
45f9c2fbf4 merged francisbesset:cache_clear_command 2011-03-21 09:24:16 +01:00
Fabien Potencier
d9c5102fd6 [FrameworkBundle] miror changes to container:debug 2011-03-14 14:24:45 +01:00
Fabien Potencier
b93a2c39a8 Merge remote branch 'weaverryan/container_debug_console' 2011-03-14 14:17:08 +01:00
Ryan Weaver
0f0539f983 [FrameworkBundle] Adding lots of information for the user after init:bundle
This is mirrored off of the messages used by git flow and serves to give the user some initial direction (and to avoid "forgetting" the setup steps).

I realize that I've hardcoded documentation URLs into this task, but I think the benefit outweighs the cost of needing to make sure these are always up-to-date.
2011-03-13 12:08:56 -05:00
Ryan Weaver
a495fa3dce [FrameworkBundle] Adding a container:debug console
This command uses a new container pass which dumps the ContainerBuilder into a cache file by serializing it. It's possible that we don't want this to run when kernel.debug = false, but I don't see the harm of generating the file and running the container:debug in, for example, the prod environment seems to make sense.
2011-03-12 14:44:21 -06:00
Francis Besset
74bae0444f [FrameworkBundle] Fixed indentation on router:debug command 2011-03-12 14:08:29 +01:00
Francis Besset
bb7986e221 [FrameworkBundle] Added cache:clear command with warmup option 2011-03-11 23:35:48 +01:00
Fabien Potencier
b940cc6f40 moved most protected to private in the Console component 2011-03-11 12:53:42 +01:00
Fabien Potencier
8c423edfef replaced symfony-project.org by symfony.com 2011-03-06 12:40:06 +01:00
Pascal Borreli
f7716645a5 [FrameworkBundle] Removed useless else 2011-02-27 18:36:36 +01:00
Fabien Potencier
d4fc3c98b1 [FrameworkBundle] updated the init:bundle skeleton files 2011-02-21 11:26:58 +01:00
Fabrice Bernhard
13469a2d82 [FrameworkBundle] added --format=xml,php,yml optional parameter to the init:bundle command
* Added the --format parameter to the InitBundleCommand.php file
* Moved all the non-format-dependent files from Resources/skeleton/bundle to Resources/skeleton/bundle/generic
* Created Resources/skeleton/bundle/[php,yml,xml] subfolders containing the files config/routing.[xml,yml,php]
2011-02-14 19:31:21 +01:00
Fabien Potencier
f35f1e1f3c [FrameworkBundle] fixed init:bundle command 2011-02-08 22:36:36 +01:00
Fabien Potencier
4e877a84ad [FrameworkBundle] fixed router:apache-dump command 2011-01-30 11:37:38 +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
Benjamin Eberlei
bdbfb44a96 [DoctrineBundle] First round of cleanup the Command namespace in DoctrineBundle 2011-01-29 10:09:42 +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
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
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
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
Dominique Bongiraud
64fb94c725 normalized license messages in PHP files 2011-01-18 08:07:46 +01:00
Bertrand Zuchuat
ff82905c57 Typo on command asset:install 2011-01-15 20:11:45 +01:00
Fabien Potencier
7ac6d59173 changed the bundle name to be the class name of the bundle, not the last part of the namespace
Let's take some examples to explain the change.

First, if you don't use any vendored bundles, this commit does not change anything.

So, let's say you use a FooBundle from Sensio. The files are stored under Bundle\Sensio\FooBundle.
And the Bundle class is Bundle\Sensio\FooBundle\SensioFooBundle.php.

Before the change, the bundle name ($bundle->getName()) would have returned 'FooBundle'.
Now it returns 'SensioFooBundle'.

Why does it matter? Well, it makes template names and controller names easier to read:

Before:

    Template: Sensio\FooBundle:Bar:index.twig.html
    Controller: Sensio\FooBundle:Bar:indexAction

After

    Template: SensioFooBundle:Bar:index.twig.html
    Controller: SensioFooBundle:Bar:indexAction

NB: Even if the change seems simple enough, the implementation is not. As finding
the namespace from the bundle class name is not trivial

NB2: If you don't follow the bundle name best practices, this will probably
leads to unexpected behaviors.
2011-01-15 15:17:01 +01:00
Bulat Shakirzyanov
3a6f556189 [FrameworkBundle] registered FileSystem as a service, switched commands to use it 2011-01-14 08:23:38 +01:00
Johannes Schmitt
b4288459cc added ACL system to the Security Component 2010-12-31 09:25:53 +01:00
Henrik Bjørnskov
50cfd4a7bf [FrameworkBundle] Create the bundles directory before trying to symlink else it will throw an error 2010-12-08 08:12:16 +01:00
Ryan Weaver
7efb4630b8 [Command] Changing the InputOption::PARAMETER_* constants to InputOption::VALUE_* to more accurately reflect that these constants refer to the value or lack of value assigned to a particular option (e.g. --verbose or --em=doctrine).
To keep language consistent, three methods were changed in InputOption:

 * `InputOption::acceptParameter()` -> `InputOption::acceptValue()`
 * `InputOption::isParameterRequired()` -> InputOption::isValueRequired()`
 * `InputOption::isParameterOptional()` -> `InputOption::isValueOptional()`

The InputDefinition::asXml() method was also modified to update the `accept_value` and `is_value_required` attributes.
2010-11-27 19:56:27 +01:00
Ryan Weaver
757fd80b9b Improving the Command documentation for RouterApacheDumperCommand and adding the ability for the script_name to be specified as an option. 2010-11-26 21:15:49 +01:00
Ryan Weaver
5aa6ad28ae Updating RouteCollection::getRoutes() call to RouteCollection::getAll() in many places. 2010-11-26 14:43:12 +01:00
Fabien Potencier
60bbb8f380 [DependencyInjection] optimized compiled containers
* removed the __call() method in Container: it means that now, there is only
   one way to get a service: via the get() method;

 * removed the $shared variable in the dumped Container classes (we now use
   the $services variable from the parent class directly -- this is where we
   have a performance improvement);

 * optimized the PHP Dumper output.
2010-11-23 22:43:09 +01:00
Kris Wallsmith
f79e23ffb5 Removed all those spaces after @author that were bothering me so… 2010-10-18 16:55:41 +02:00
Fabien Potencier
aa1cb87f60 [FrameworkBundle] clarified exception message in InitBundleCommand.php (patch from mvrhov) 2010-10-08 10:17:17 +02:00
henrikbjorn
7ad510d6ef Added --symlink option to assets:install command 2010-10-08 09:55:57 +02:00
Fabien Potencier
69b538b632 [FrameworkBundle] removed the app:init command 2010-09-23 19:10:40 +02:00
Fabien Potencier
bf82cf42dd renamed Symfony\Components to Symfony\Component 2010-08-20 23:09:55 +02:00
Fabien Potencier
ee2ff39eaf removed @package and @subpackage annotations 2010-08-01 23:06:28 +02:00
Fabien Potencier
3f270f5faa [FrameworkBundle] added a skeleton for configuration in plain PHP 2010-07-20 16:34:40 +02:00
Fabien Potencier
256a71298c fixed phpdoc 2010-07-09 10:28:08 +02:00
Fabien Potencier
15d439809c renamed Symfony\Bundle\FoundationBundle to Symfony\Bundle\FrameworkBundle 2010-07-09 10:25:52 +02:00