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(
‘Auth\AuthServiceProvider‘,
‘Cache\CacheServiceProvider‘,
‘Routing\RoutingServiceProvider‘,
‘Cookie\CookieServiceProvider‘,
‘Database\DatabaseServiceProvider‘,
‘Encryption\EncryptionServiceProvider‘,
‘Hashing\HashServiceProvider‘,
‘Log\LogServiceProvider‘,
‘Mail\MailServiceProvider‘,
‘Pagination\PaginationServiceProvider‘,
‘Auth\Reminders\ReminderServiceProvider‘,
‘Session\SessionServiceProvider‘,
‘Validation\ValidationServiceProvider‘,
)
Set manifest path
‘manifest‘ => STORAGE_PATH
Set alias paths
‘aliases‘ => array(
// The Core Tools.
‘Errors‘ => ‘\Core\Error‘,
// The Helpers.
‘Mail‘ => ‘\Helpers\Mailer‘,
‘Assets‘ => ‘\Helpers\Assets‘,
‘Csrf‘ => ‘\Helpers\Csrf‘,
‘Date‘ => ‘\Helpers\Date‘,
‘Document‘ => ‘\Helpers\Document‘,
‘Encrypter‘ => ‘\Helpers\Encrypter‘,
‘FastCache‘ => ‘\Helpers\FastCache‘,
‘Form‘ => ‘\Helpers\Form‘,
‘Ftp‘ => ‘\Helpers\Ftp‘,
‘GeoCode‘ => ‘\Helpers\GeoCode‘,
‘Hooks‘ => ‘\Helpers\Hooks‘,
‘Inflector‘ => ‘\Helpers\Inflector‘,
‘Number‘ => ‘\Helpers\Number‘,
‘RainCaptcha‘ => ‘\Helpers\RainCaptcha‘,
‘ReservedWords‘ => ‘\Helpers\ReservedWords‘,
‘SimpleCurl‘ => ‘\Helpers\SimpleCurl‘,
‘TableBuilder‘ => ‘\Helpers\TableBuilder‘,
‘Tags‘ => ‘\Helpers\Tags‘,
‘Url‘ => ‘\Helpers\Url‘,
// The Forensics Console.
‘Console‘ => ‘\Forensics\Console‘,
// The Support Classes.
‘Arr‘ => ‘\Support\Arr‘,
‘Str‘ => ‘\Support\Str‘,
// The Support Facades.
‘App‘ => ‘\Support\Facades\App‘,
‘Auth‘ => ‘\Support\Facades\Auth‘,
‘Cache‘ => ‘\Support\Facades\Cache‘,
‘Config‘ => ‘\Support\Facades\Config‘,
‘Cookie‘ => ‘\Support\Facades\Cookie‘,
‘Crypt‘ => ‘\Support\Facades\Crypt‘,
‘DB‘ => ‘\Support\Facades\Database‘,
‘Event‘ => ‘\Support\Facades\Event‘,
‘Hash‘ => ‘\Support\Facades\Hash‘,
‘Input‘ => ‘\Support\Facades\Input‘,
‘Language‘ => ‘\Support\Facades\Language‘,
‘Mailer‘ => ‘\Support\Facades\Mailer‘,
‘Paginator‘ => ‘\Support\Facades\Paginator‘,
‘Password‘ => ‘\Support\Facades\Password‘,
‘Redirect‘ => ‘\Support\Facades\Redirect‘,
‘Request‘ => ‘\Support\Facades\Request‘,
‘Response‘ => ‘\Support\Facades\Response‘,
‘Session‘ => ‘\Support\Facades\Session‘,
‘Validator‘ => ‘\Support\Facades\Validator‘,
‘Log‘ => ‘\Support\Facades\Log‘
)
Auth
Configuration options for use within the Auth system.
Set default authentication driver, can be database or extended
‘driver‘ => ‘extended‘
Set authentication model
‘model‘ => ‘App\Models\User‘
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(