Files
thetempusproject/vendor/bedrock/bin/autoload.php
2024-08-04 21:15:59 -04:00

53 lines
1.5 KiB
PHP

<?php
/**
* bin/autoload.php
*
* Handles the initial setup like autoloading, basic functions, constants, etc.
*
* @version 3.0
* @author Joey Kimsey <Joey@thetempusproject.com>
* @link https://TheTempusProject.com/Core
* @license https://opensource.org/licenses/MIT [MIT LICENSE]
*/
namespace TheTempusProject\Bedrock;
use TheTempusProject\Hermes\Classes\Autoloader;
if ( ! defined('BEDROCK_ROOT_DIRECTORY' ) ) {
define('BEDROCK_ROOT_DIRECTORY', dirname(__DIR__) . DIRECTORY_SEPARATOR);
}
if ( ! defined('BEDROCK_CONFIG_DIRECTORY' ) ) {
define('BEDROCK_CONFIG_DIRECTORY', BEDROCK_ROOT_DIRECTORY . 'config' . DIRECTORY_SEPARATOR);
}
if ( ! defined('BEDROCK_CONSTANTS_LOADED' ) ) {
require_once BEDROCK_CONFIG_DIRECTORY . 'constants.php';
}
if ( ! class_exists( 'TheTempusProject\Bedrock\Classes\Autoloader' ) ) {
if ( file_exists( BEDROCK_CLASSES_DIRECTORY . 'autoloader.php' ) ) {
require_once BEDROCK_CLASSES_DIRECTORY . 'autoloader.php';
}
}
if ( ! class_exists( 'TheTempusProject\Bedrock\App' ) ) {
if ( file_exists( BEDROCK_ROOT_DIRECTORY . 'app.php' ) ) {
require_once BEDROCK_ROOT_DIRECTORY . 'app.php';
}
}
$autoloader = new Autoloader;
$autoloader->setRootFolder( BEDROCK_ROOT_DIRECTORY );
$autoloader->addNamespace(
'TheTempusProject\Bedrock',
'bin'
);
$autoloader->addNamespace(
'TheTempusProject\Bedrock\Classes',
'classes'
);
$autoloader->addNamespace(
'TheTempusProject\Bedrock\Functions',
'functions'
);
$autoloader->register();
define( 'BEDROCK_AUTOLOADED', true );