May 06

One more time about symfony filters

Symfony filters is powerful mechanism to perform system wide authentications, database actions, etc.
One of the ways you may want to use it is system wide preExecute action. The logic of preExecute requires it to be added per module but often you may need to perform same bunch of actions for all modules. So why don’t group them and create init filter.


class initFilter 
  public function execute($filterChain) 
    // code you want to execute before every action

Please note that line $filterChain->execute(); is essential as it notifies system to keep running other filters.
Next step you add this new filter to


you have to make sure that it’s added in correct location:

rendering: ~
security:  ~
# insert your own filters here
  class: initFilter
cache:     ~
execution: ~

As if you will add it e.g. before rendering there won’t be access to database layer, etc.
If you want to add own filter for database layer – you’ll have to add it after rendering but before security as the most probably your security layer will use database.
So that’s it – easy and powerful.

Author: symfonian


May 8, 2011

Just as a thought, could you tag these examples with the version of symfony they apply to?

May 10, 2011

good idea, I believe it would work for all version prior to symfony2

I think it is very basic point of symfony filters and also it works for every versions.

Comments RSS TrackBack Identifier URI

Leave a comment