diff options
Diffstat (limited to 'core/config')
| -rw-r--r-- | core/config/anom_settings.php | 209 | ||||
| -rw-r--r-- | core/config/init.php | 11 | ||||
| -rw-r--r-- | core/config/xx--anom_settings.php | 66 | ||||
| -rw-r--r-- | core/config/xx--constants.php (renamed from core/config/constants.php) | 0 |
4 files changed, 69 insertions, 217 deletions
diff --git a/core/config/anom_settings.php b/core/config/anom_settings.php deleted file mode 100644 index 03e4cc5..0000000 --- a/core/config/anom_settings.php +++ /dev/null @@ -1,209 +0,0 @@ -<?php -/** CONFIGURATION PARAMETRES - * ----------------------------------------------------------------------------- - * - * Here you can find all the setup paramaters that define - * key-decisions of your application; - * - * ex. Session driver, Cache driver, Cookies Policy etc; - * - * Other supplamentary constants (ex. Session options according to the driver, - * Cookie properties according to the application's specs) shall be defined - * into the ~/public/app/config/app_constants.php - * - * - * NOTE: - * You may rewrite the defines setting any values manualy - * SETTING anom CONSTANTS VIA an `.env` FILE IS HIGHLY RECOMMENDED (for safety) - * The default env file is saved into `~/core/auth` folder - * - * ----------------------------------------------------------------------------- - */ - -if (file_exists("../core/auth/.env")) { - $ini = parse_ini_file("../core/auth/.env"); -} - - - - -/** ENVIRONMENT constant - * ----------------------------------------------------------------------------- - * - * define application's environment stage; [PRODUCTION|develpment|testing|*] - * seting this constant to 'PRODUCTION' eliminates debuggin comments; - * - * DO NOT FORGET to change this setting when deploying to a different stage - * - * ----------------------------------------------------------------------------- - */ - -define('PRODUCTION', ($ini['ENVIRONMENT'] == 'production') ); - - - - -/** APPLICATION NAMES AND URL DEFAULTS - * ----------------------------------------------------------------------------- - * - * NOTE: - * if .env file exists ... do not touch anything - * else ... replace $env[*] values with your setup - * - * ----------------------------------------------------------------------------- - */ - -define('APP_NAME', $ini['APP_NAME']); // Application Name (how developer refers to it) - -define('APP_VERSION', $ini['APP_VERSION']); // Application version (major_version + subversion_class) - // keep it simple, ex: '1.alfa' -or- '1.beta' -or- '2.rc' - -define('SITE_URL', $ini['ANOM_HOSTNAME']); - - - - -/** APPLICATION PATHS - * ----------------------------------------------------------------------------- - * - * Obligarory: - * These are needed in order to run the bare minimum MVC system - * They also make code easier to read - * - * NOTE: - * most likely won't need to change any of these subsection defines; - * still the framework makes easy for the developer - * to change the Views and/or the Tests diectrory; - * - * ----------------------------------------------------------------------------- - */ - -define('APP_ROOT', $ini['APP_ROOT'] ?? dirname(get_included_files()[0]) ); - -define('URL_ROOT', '/'); - -define('INIT_APPLICATION', '../core/config/init.php'); - -define('VIEWS_DIRECTORY', $ini['VIEWS_DIRECTORY'] ?? (APP_ROOT.'/app/views/')); - -define('TESTS_DIRECTORY', $ini['TESTS_DIRECTORY'] ?? (APP_ROOT."/../tests/")); - - - - -/** AUTOLOADER ///////////////////////////////////////////////////////////////// - * ----------------------------------------------------------------------------- - * - * An autoloader for classes is required; - * - * - ** OPTION 1: COMPOSER - * ----------------------------------------------------------------------------- - * Composer is recommended and makes much more than simple autoloding - * ----------------------------------------------------------------------------- - */ - -define('AUTOLOADER' , '../vendor/autoload.php'); - -/** OPTION 2: Custom Autoloader - * ----------------------------------------------------------------------------- - * If Composer is not supported, another autoloading proccess required - * Comment/Disable the 1st option and uncomment/Enable the next line - * ----------------------------------------------------------------------------- - * - * NOTE: if the custom autoloadet is used - * then you need to defing CLASSPATHS constant-array too; - */ - -# define('AUTOLOADER' , '../core/helpers/autoload.php'); - - - - -/** SESSION HANDLING - * ---------------------------------------------------------------------------- - * - * there are several session drivers for session handling: - * - * 'DefaultSession' : uses the default (file-based) php session management - * 'FileSession' : defines a custom file-based session mechanism - * 'DatabaseSession' : mechanism that stores Session data into a DataBase - * ---------------------------------------------------------------------------- - */ - -define('SESSION_DRIVER', $ini['SESSION_DRIVER']); - - - - -/** COOKIE SETTINGS - * ----------------------------------------------------------------------------- - * - * Define cookie policy (cookie sharing and securing) - * - * recomended values for production environment: - * COOKIE_SECURE=true - * COOKIE_SAMESITE='Strict' - * - * NOTE: - * on development environment COOKIE_SECURE has to be false - * in order for the test server to use them from http://locahost - * - * for more info about cookie policy read: - * https://www.php.net/manual/en/function.session-set-cookie-params.php - * - * ----------------------------------------------------------------------------- - */ - -define('COOKIE_SECURE', PRODUCTION); // Secure cookie policy [true|false] - -define('COOKIE_SAMESITE', $ini['COOKIE_SAMESITE'] ?? 'Strict'); // SameSite cookie policy [Strict|Lax|None] - -# define('COOKIE_DOMAIN', $env['ANOM_HOSTNAME']); // domain to be visible on - - - - -/* ADVANCED OPTIMIZATION /////////////////////////////////////////////////////// - * ----------------------------------------------------------------------------- - * - * APP_CACHE defines the cache-driver; - * accepted values are the name of the Cache-interface impementations (the exact - * names of the classes) - * - * 'FileCache' : caching in filesystem; fair if caching on HDD; great on SSD - * 'RedisCache' : caching in Redis server; generally recommended if available - * 'MemCachedCache' : caching in Memcached server; recommended if available - * - * NOTE: FileCache on a NVMe SDD is the fastest option; - * Redis and Memcached are really-fast caching options and are available for - * scaling horizontaly your application (eache one has it's own strngths; - * study, then choose the one that fulfills your needs; - * ----------------------------------------------------------------------------- - */ - -define('CACHE_DRIVER', $ini['CACHE_DRIVER']); - - - - -/** HOTFIX: (needs refactoring) */ - -// CONNECTIONS ... - -define('FILECACHE_PATH', APP_ROOT.'/../storage/cache/'); // if CACHE_DRIVER is set to 'FileCache' - -define('MEDIA_STORAGE_ROOT', APP_ROOT.'/../storage/uploads/'); // Media files root directory - -# define('REDIS_HOST', '127.0.0.1'); // if CACHE_DRIVER is set to 'RedisCache' - -# define('MEMCAHCED_SERVER', '127.0.0.1'); // if CACHE_DRIVER is set to 'MemCached' - - - - -/** CREDENTIALS - * ----------------------------------------------------------------------------- - */ - -
\ No newline at end of file diff --git a/core/config/init.php b/core/config/init.php index 589a486..40624d3 100644 --- a/core/config/init.php +++ b/core/config/init.php @@ -18,14 +18,9 @@ // setup error-handliing // ----------------------------------------------------------------------------- -require_once '../core/helpers/error_handling.php'; +require_once APP_ROOT.'/core/helpers/error_handling.php'; -// depricated: -/// // Load rendering sub-system -/// // ----------------------------------------------------------------------------- -/// require_once RENDERING_SYSTEM; - // Setup Application Engiine // ----------------------------------------------------------------------------- @@ -55,10 +50,10 @@ Registry::set('REQUEST', new Request()); // (these patterns use some of the project's central objects (Registry, // Cache, Database), so laod them after. // ----------------------------------------------------------------------------- -require_once '../core/helpers/design_patterns.php'; +require_once APP_ROOT.'/core/helpers/design_patterns.php'; // Add Routes // ----------------------------------------------------------------------------- -require_once 'app/config/init_routes.php'; // initialize routes +require_once WEB_ROOT.'/app/config/init_routes.php'; // initialize routes diff --git a/core/config/xx--anom_settings.php b/core/config/xx--anom_settings.php new file mode 100644 index 0000000..06fe5af --- /dev/null +++ b/core/config/xx--anom_settings.php @@ -0,0 +1,66 @@ +<?php + + + + + + + + + + + + + + + + + + + + + + +/* ADVANCED OPTIMIZATION /////////////////////////////////////////////////////// + * ----------------------------------------------------------------------------- + * + * APP_CACHE defines the cache-driver; + * accepted values are the name of the Cache-interface impementations (the exact + * names of the classes) + * + * 'FileCache' : caching in filesystem; fair if caching on HDD; great on SSD + * 'RedisCache' : caching in Redis server; generally recommended if available + * 'MemCachedCache' : caching in Memcached server; recommended if available + * + * NOTE: FileCache on a NVMe SDD is the fastest option; + * Redis and Memcached are really-fast caching options and are available for + * scaling horizontaly your application (eache one has it's own strngths; + * study, then choose the one that fulfills your needs; + * ----------------------------------------------------------------------------- + */ + +define('CACHE_DRIVER', $env['CACHE_DRIVER'] ?? 'FileCache'); + + + + +/** HOTFIX: (needs refactoring) */ + +// CONNECTIONS ... + +define('FILECACHE_PATH', APP_ROOT.'/storage/cache/'); // if CACHE_DRIVER is set to 'FileCache' + +define('MEDIA_STORAGE_ROOT', APP_ROOT.'/storage/uploads/'); // Media files root directory + +# define('REDIS_HOST', '127.0.0.1'); // if CACHE_DRIVER is set to 'RedisCache' + +# define('MEMCAHCED_SERVER', '127.0.0.1'); // if CACHE_DRIVER is set to 'MemCached' + + + + +/** CREDENTIALS + * ----------------------------------------------------------------------------- + */ + +
\ No newline at end of file diff --git a/core/config/constants.php b/core/config/xx--constants.php index d2ecc41..d2ecc41 100644 --- a/core/config/constants.php +++ b/core/config/xx--constants.php |
