Config

Config

Config

Settings for the framework setup in app/Config.php

Set the timezone to your local

date_default_timezone_set('Europe/London');

Next, set the application web URL, Once the SITEURL is set it can be used to get the application address.

define('SITEURL', 'http://example.com/');

Set the base URL? if on the root of a domain it's a single '/' otherwise it's /foldername/

define('DIR', '/');

If using a database the database credentials will need adding:

define('DB_TYPE', 'mysql');
define('DB_HOST', 'localhost');
define('DB_NAME', 'database name');
define('DB_USER', 'root');
define('DB_PASS', 'root');
define('PREFIX', 'nova_');

The prefix is optional but highly recommended, it's very useful when sharing databases with other applications, to avoid conflicts. The prefix should be the starting pattern of all table names likenova_users

Nova provides a session helper class, in order to avoid session conflicts a prefix is used.

define('SESSION_PREFIX', 'nova_');

The following tells the framework what theme folder to use for views

define('TEMPLATE','default');

Set the default language

define('LANGUAGE_CODE', 'en');

set the application name:

define('SITETITLE', 'Nova');

Set encryption key - used for encrypting cookies

define('ENCRYPT_KEY', '');

By default errors are logged but not displayed, to display them set this to true

Config::set('logger', array(
    'displayErrors' => false,
));

The default theme comes with a profiler, similar to browsers inspector to turn on:

Config::set('profiler', array(
    'useForensics' => false,
    'withDatabase' => false,
));

App

Turn debugging on by setting to true

'debug' => false

Assign the defined site url

'url'  => SITEURL

Assign the site name

'name' => SITETITLE

Turn on multilingual support

'multilingual' => false,

'locale' => LANGUAGE_CODE

Assign encryption key

key' => ENCRYPT_KEY

Turn on csrf

'csrf' => true

Service providers

'providers' => array(
    'AuthAuthServiceProvider',
    'CacheCacheServiceProvider',
    'RoutingRoutingServiceProvider',
    'CookieCookieServiceProvider',
    'DatabaseDatabaseServiceProvider',
    'EncryptionEncryptionServiceProvider',
    'HashingHashServiceProvider',
    'LogLogServiceProvider',
    'MailMailServiceProvider',
    'PaginationPaginationServiceProvider',
    'AuthRemindersReminderServiceProvider',
    'SessionSessionServiceProvider',
    'ValidationValidationServiceProvider',
)

Set manifest path

'manifest' => STORAGE_PATH

Set alias paths

'aliases' => array(
    // The Core Tools.
    'Errors'        => 'CoreError',

    // The Helpers.
    'Mail'          => 'HelpersMailer',
    'Assets'        => 'HelpersAssets',
    'Csrf'          => 'HelpersCsrf',
    'Date'          => 'HelpersDate',
    'Document'      => 'HelpersDocument',
    'Encrypter'     => 'HelpersEncrypter',
    'FastCache'     => 'HelpersFastCache',
    'Form'          => 'HelpersForm',
    'Ftp'           => 'HelpersFtp',
    'GeoCode'       => 'HelpersGeoCode',
    'Hooks'         => 'HelpersHooks',
    'Inflector'     => 'HelpersInflector',
    'Number'        => 'HelpersNumber',
    'RainCaptcha'   => 'HelpersRainCaptcha',
    'ReservedWords' => 'HelpersReservedWords',
    'SimpleCurl'    => 'HelpersSimpleCurl',
    'TableBuilder'  => 'HelpersTableBuilder',
    'Tags'          => 'HelpersTags',
    'Url'           => 'HelpersUrl',

    // The Forensics Console.
    'Console'       => 'ForensicsConsole',

    // The Support Classes.
    'Arr'           => 'SupportArr',
    'Str'           => 'SupportStr',

    // The Support Facades.
    'App'           => 'SupportFacadesApp',
    'Auth'          => 'SupportFacadesAuth',
    'Cache'         => 'SupportFacadesCache',
    'Config'        => 'SupportFacadesConfig',
    'Cookie'        => 'SupportFacadesCookie',
    'Crypt'         => 'SupportFacadesCrypt',
    'DB'            => 'SupportFacadesDatabase',
    'Event'         => 'SupportFacadesEvent',
    'Hash'          => 'SupportFacadesHash',
    'Input'         => 'SupportFacadesInput',
    'Language'      => 'SupportFacadesLanguage',
    'Mailer'        => 'SupportFacadesMailer',
    'Paginator'     => 'SupportFacadesPaginator',
    'Password'      => 'SupportFacadesPassword',
    'Redirect'      => 'SupportFacadesRedirect',
    'Request'       => 'SupportFacadesRequest',
    'Response'      => 'SupportFacadesResponse',
    'Session'       => 'SupportFacadesSession',
    'Validator'     => 'SupportFacadesValidator',
    'Log'           => 'SupportFacadesLog'
)

Auth

Configuration options for use within the Auth system.

Set default authentication driver, can be database or extended

'driver' => 'extended'

Set authentication model

'model' => 'AppModelsUser'

Set authentication table

'table' => 'users'

Password Reminder Settings

/*
| Here you may set the settings for password reminders, including a view
| that should be used as your password reminder e-mail. You will also
| be able to set the name of the table that holds the reset tokens.
|
| The "expire" time is the number of minutes that the reminder should be
| considered valid. This security feature keeps tokens short-lived so
| they have less time to be guessed. You may change this as needed.
|
*/
'reminder' => array(
    'email'  => 'Emails/Auth/Reminder',
    'table'  => 'password_reminders',
    'expire' => 60,
)

Cache

Set Default storage, options: . ssdb . predis . redis . mongodb . files . sqlite . auto . apc . wincache . xcache . memcache . memcached

'storage'   =>  'files'

Default Path for Cache on HDD. Use full PATH like /home/username/cache. Keep it blank '', it will automatic setup for you.

Set path

'path' =>  STORAGE_PATH .'Cache' , // default path for files
'securityKey' =>  '',

FallBack Driver Example, in your code, you use memcached, apc..etc, but when you moved your web hosting until you setup your new server caching, use 'overwrite' => 'files'

'overwrite' => 'files', // whatever caching will change to 'files' and you don't need to change ur code

Default Memcache Server for all $cache

'server'    =>  array(
    array('127.0.0.1',11211,1),
)

Cache settings:

'memcache' => array(
    array('127.0.0.1', 11211, 1),
    //array('new.host.ip',11211,1),
),
'redis' => array(
    'host' => '127.0.0.1',
    'port' => '',
    'password' => '',
    'database' => '',
    'timeout' => '',
),
'ssdb' => array(
    'host' => '127.0.0.1',
    'port' => 8888,
    'password' => '',
    'timeout' => '',
),
// use 1 as normal traditional, 2 = phpfastcache fastest as default, 3 = phpfastcache memory stable
'caching_method' => 2,

Database

Config options:

Set PDO fetch style

'fetch' => PDO::FETCH_CLASS

The Default Database Connection Name

'default' => 'mysql'

Set connections, additional databases can be used by adding additional arrays:

'connections' => array(
    'sqlite' => array(
        'driver'    => 'sqlite',
        'database'  => APPDIR .'Storage' .DS .'database.sqlite',
        'prefix'    => '',
    ),
    'mysql' => array(
        'driver'    => DB_TYPE,
        'hostname'  => DB_HOST,
        'database'  => DB_NAME,
        'username'  => DB_USER,
        'password'  => DB_PASS,
        'prefix'    => PREFIX,
        'charset'   => 'utf8',
        'collation' => 'utf8_general_ci',
    ),
    'pgsql' => array(
        'driver'   => 'pgsql',
        'host'     => 'localhost',
        'database' => 'database',
        'username' => 'root',
        'password' => '',
        'charset'  => 'utf8',
        'prefix'   => '',
        'schema'   => 'public',
    ),
)

Languages

Array of all supported languages

Config::set('languages', array(
    'cz' => array('info' => 'Czech',     'name' => '?eština',    'locale' => 'cz_CZ', 'dir' => 'ltr'),
    'da' => array('info' => 'Danish',    'name' => 'Dansk',      'locale' => 'da_DK', 'dir' => 'ltr'),
    'de' => array('info' => 'German',    'name' => 'Deutsch',    'locale' => 'de_DE', 'dir' => 'ltr'),
    'en' => array('info' => 'English',   'name' => 'English',    'locale' => 'en_US', 'dir' => 'ltr'),
    'es' => array('info' => 'Spanish',   'name' => 'Español',    'locale' => 'es_ES', 'dir' => 'ltr'),
    'fa' => array('info' => 'Persian',   'name' => '?????',      'locale' => 'fa_IR', 'dir' => 'rtl'),
    'fr' => array('info' => 'French',    'name' => 'Français',   'locale' => 'fr_FR', 'dir' => 'ltr'),
    'it' => array('info' => 'Italian',   'name' => 'italiano',   'locale' => 'it_IT', 'dir' => 'ltr'),
    'ja' => array('info' => 'Japanesse', 'name' => '???',      'locale' => 'ja_JA', 'dir' => 'ltr'),
    'nl' => array('info' => 'Dutch',     'name' => 'Nederlands', 'locale' => 'nl_NL', 'dir' => 'ltr'),
    'pl' => array('info' => 'Polish',    'name' => 'polski',     'locale' => 'pl_PL', 'dir' => 'ltr'),
    'ro' => array('info' => 'Romanian',  'name' => 'Român?',     'locale' => 'ro_RO', 'dir' => 'ltr'),
    'ru' => array('info' => 'Russian',   'name' => '????????',    'locale' => 'ru_RU', 'dir' => 'ltr'),
));

Mail

Mail settings:

Config::set('mail', array(
    'driver' => 'smtp',
    'host'   => '',
    'port'   => 587,
    'from'   => array(
        'address' => 'admin@novaframework.dev',
        'name'    => SITETITLE,
    ),
    'encryption' => 'tls',
    'username'   => '',
    'password'   => '',
    'sendmail'   => '/usr/sbin/sendmail -bs',

    // Whether or not the Mailer will pretend to send the messages.
    'pretend' => true,
));

Modules

To activate modules place the module name in this array

Config::set('modules', array(
    'Dashboard',
    'Settings',
    'Demos',
    'Users',
));

Routing

These options allow routing patterns to be defined

Config::set('routing', array(
    'patterns' => array(
        //':hex' => '[[:xdigit:]]+',
    )
));

Session

Set session options

Config::set('session', array(
    'driver'  => 'file', // The Session Driver used for storing Session data; supported: 'file' or 'database'.

    'handler' => 'SessionFileSessionHandler', // The default Session Handler, using files for Session cache.

    // Storage configuration.
    'lifetime' => 180,           // Number of minutes the Session is allowed to remain idle before it expires.
    'files'    => STORAGE_PATH .'Sessions',  // File Session Handler - where the Session files may be stored.
    'lottery'  => array(2, 100), // Option used by the Garbage Collector, to remove the stalled Session files.

    // Cookie configuration.
    'cookie'   => PREFIX .'session',
    'path'     => '/',
    'domain'   => null,
    'secure'   => false,

    // weather or not will be used the Cookies encryption.
    'encrypt'  => true
));
原文地址:https://www.cnblogs.com/chunguang/p/5642948.html