Skip to content
Permalink
Browse files

feature #21231 [FrameworkBundle] allow to reference files directly fr…

…om kernel.root_dir (fabpot)

This PR was merged into the 3.3-dev branch.

Discussion
----------

[FrameworkBundle] allow to reference files directly from kernel.root_dir

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

While working on a bundleless app, I want to be able to reference a directory for routing annotations like this:

```yaml
app:
    resource: "../src/Controller/"
    type: annotation
```

but that does not work because Symfony expects a bundle resource (`@AppBundle...`) or a directory referenced from the main app `Resources` directory. But as I don't have such a directory, even using `../../src/Controller` does not work.

So, I propose to add the %kernel.root_dir% to the list of allowed directories.

By the way, we don't have the same issue with the routing annotation **file** loader as it does not use the locator for whatever reason. Should we fix it?

Commits
-------

80b61e9 [FrameworkBundle] allowed to reference files directly from kernel.root_dir
  • Loading branch information...
fabpot committed Jan 10, 2017
2 parents 4d916c6 + 80b61e9 commit bdd0f9d94db81773885a068f38973e4e59166dbd
Showing with 3 additions and 0 deletions.
  1. +3 −0 src/Symfony/Bundle/FrameworkBundle/Resources/config/services.xml
@@ -52,6 +52,9 @@
<service id="file_locator" class="Symfony\Component\HttpKernel\Config\FileLocator">
<argument type="service" id="kernel" />
<argument>%kernel.root_dir%/Resources</argument>
<argument type="collection">
<argument>%kernel.root_dir%</argument>
</argument>
</service>

<service id="uri_signer" class="Symfony\Component\HttpKernel\UriSigner">

0 comments on commit bdd0f9d

Please sign in to comment.
You can’t perform that action at this time.