• Installing/Configuring
  • Runtime Configuration

  • Runtime Configuration
  • Runtime Configuration

    Runtime Configuration

    The behaviour of these functions is affected by
    settings in php.ini.

    Yaf Configure Options
    Name Default Changeable Changelog
    yaf.library   PHP_INI_ALL
    yaf.action_prefer 0 PHP_INI_ALL
    yaf.lowcase_path 0 PHP_INI_ALL
    yaf.use_spl_autoload 0 PHP_INI_ALL
    yaf.forward_limit 5 PHP_INI_ALL
    yaf.name_suffix 1 PHP_INI_ALL
    yaf.name_separator   PHP_INI_ALL
    yaf.cache_config 0 PHP_INI_SYSTEM
    yaf.environ product PHP_INI_SYSTEM
    yaf.use_namespace 0 PHP_INI_SYSTEM

    Here’s a short explanation of the configuration


    The global library path, Yaf_loader will search
    global library in this directory.

    yaf.action_prefer integer

    If there is only one part in PATH_INFO, should it
    consider as a controller or action.

    If this configure On, it will be considered as a
    Action name.

    yaf.lowcase_path integer

    Whether lowercase all the path during the class

    yaf.use_spl_autoload integer

    When this value is On, if Yaf_Loader can not
    find a class, it will return FALSE,
    then give chance to other auto load function to be called.

    When this value is Off, if Yaf_Loader can not
    find a class, it will return TRUE,
    and make the class autoloading failed immediately.


    Yaf will register its loader during a instantiation
    of Yaf_Application, so any other auto loaders which is
    register before the instantiation will be called before

    When this value is Off(default), Yaf_Loader::autoload() will always return

    yaf.forward_limit integer

    The max forward count, default is 5. that means you
    can have a max value of 5 in the forward stack.

    This is a protection for prevent recursive

    yaf.name_suffix integer

    When this On, Yaf_Loader will identify a class by
    it’s suffix to decide whether it is a MVC Class.

    When this Off, Yaf_Loader will look at the prefix
    of the class name.

    yaf.name_separator string

    When this is not empty, Yaf_Loader will identify
    the class suffix and string value of this.

    For example, when this value is “_”, Yaf_Loader
    will take Index_Controller as a Controller Class, IndexController
    as a normal class.

    yaf.cache_config integer

    If this is On, and in the meantime you are using
    ini config file as the parameter of Yaf_Application(), the
    compiling result of the ini config file will be cached in the PHP


    Yaf examine the mtime of the ini file, if it was
    changed since last compiling, Yaf will reload it.


    Yaf use the ini file path as the cache entry key,
    so do use the absolute path in ini file path, otherwise there might
    be some conflicts if two application use the same relative path of
    ini config.


    This value is “product” by default, used for Yaf to
    fetch the config section of a ini config file.

    That is, if this value is “product”, Yaf will use
    the section named “product” in the ini config file(the first
    parameter of the Yaf_Application) as the final config of the

    yaf.use_namespace integer

    Only works as of PHP 5.3, if this value is On, All
    classes of Yaf will named in namespace style.

    For example:

    Yaf_Route_Rewrite => \Yaf\Route\Rewrite
    Yaf_Request_Http  => \Yaf\Request\Http

    There is a exception, that is some classes like Yaf_Controller_Abstract. The last component is a
    keyword of PHP, could not be used as a class name, so for such

    Yaf_Controller_Abstract => \Yaf\Controller_Abstract
    Yaf_Route_Static => \Yaf\Route_Static