[Dancer-users] Changing config hashref directly (was: Re: Dancer::layout has been deprecated)

David Precious davidp at preshweb.co.uk
Sun May 22 13:46:13 CEST 2011

On Saturday 21 May 2011 23:19:18 Naveed Massjouni wrote:
> Is config->{layout} = 'foo' the same as set layout => 'foo'?

In general, you shouldn't change the hashref returned by config(), but use 
set() instead.  Some settings, when changed via set(), trigger a hook to 
handle that change (e.g. initialise a template engine when 'template' is used, 
set up a catch-all route when 'auto_page' is used, etc).  Changing them 
directly, bypassing set(), means those triggers won't fire.

The 'layout' setting, however, doesn't have any trigger, so changing it 
directly wouldn't hurt; I still wouldn't recommend it though, for future-

In fact, it might make sense for us to change config() to return a tied hash 
which emits warnings if you try to change any values, to discourage people 
from using it to change settings directly, bypassing set().


David Precious  ("bigpresh")

   "Programming is like sex. One mistake and you have to support
   it for the rest of your life". (Michael Sinz)

More information about the Dancer-users mailing list