2018-03-23 00:34:16 +03:00
< ? php
2018-03-14 19:57:53 +03:00
2019-08-02 00:17:23 +03:00
declare ( strict_types = 1 );
2018-03-09 13:11:52 +03:00
/**
2022-04-04 21:48:33 +03:00
* Flextype ( https :// awilum . github . io / flextype )
2019-08-11 11:55:51 +03:00
* Founded by Sergey Romanenko and maintained by Flextype Community .
2018-03-09 13:11:52 +03:00
*/
2019-09-04 17:00:09 +03:00
2018-03-23 00:34:16 +03:00
namespace Flextype ;
2019-08-02 00:17:23 +03:00
use function define ;
use function getcwd ;
use function is_file ;
use function sprintf ;
use function str_replace ;
use function version_compare ;
2020-01-09 00:05:42 +03:00
use const DIRECTORY_SEPARATOR ;
use const PHP_VERSION ;
2019-08-02 00:17:23 +03:00
2019-06-11 21:18:18 +03:00
/**
* Define the application minimum supported PHP version .
*/
2020-12-27 18:25:37 +03:00
define ( 'FLEXTYPE_MINIMUM_PHP' , '7.4.0' );
2018-03-13 01:00:10 +03:00
2019-06-11 21:18:18 +03:00
/**
* Define the PATH to the root directory ( without trailing slash ) .
*/
2018-05-15 14:22:59 +03:00
define ( 'ROOT_DIR' , str_replace ( DIRECTORY_SEPARATOR , '/' , getcwd ()));
2019-06-11 21:18:18 +03:00
/**
* Define the PATH ( without trailing slash ) .
*/
2019-08-02 00:17:23 +03:00
define ( 'PATH' , [
2020-12-27 18:25:37 +03:00
'project' => ROOT_DIR . '/project' ,
'tmp' => ROOT_DIR . '/var/tmp' ,
2019-08-02 00:17:23 +03:00
]);
2018-05-15 14:22:59 +03:00
2019-06-11 21:18:18 +03:00
/**
* Check PHP Version
*/
2018-03-21 00:28:34 +03:00
version_compare ( $ver = PHP_VERSION , $req = FLEXTYPE_MINIMUM_PHP , '<' ) and exit ( sprintf ( 'You are running PHP %s, but Flextype needs at least <strong>PHP %s</strong> to run.' , $ver , $req ));
2020-03-15 11:49:38 +03:00
2019-06-11 21:18:18 +03:00
/**
* Ensure vendor libraries exist
*/
2020-12-06 21:57:58 +03:00
! is_file ( $flextypeAutoload = __DIR__ . '/vendor/autoload.php' ) and exit ( 'Please run: <i>composer install</i> for flextype' );
2018-03-09 13:11:52 +03:00
2019-06-11 21:18:18 +03:00
/**
* Register The Auto Loader
*
* Composer provides a convenient , automatically generated class loader for
* our application . We just need to utilize it ! We ' ll simply require it
* into the script here so that we don ' t have to worry about manual
* loading any of our classes later on . It feels nice to relax .
* Register The Auto Loader
*/
2020-12-06 21:57:58 +03:00
$flextypeLoader = require_once $flextypeAutoload ;
2018-03-09 13:11:52 +03:00
2019-06-11 21:18:18 +03:00
/**
* Bootstraps the Flextype
*
* This bootstraps the Flextype and gets it ready for use , then it
* will load up this application so that we can run it and send
* the responses back to the browser and delight our users .
*/
2021-08-10 11:09:37 +03:00
require_once __DIR__ . '/src/flextype/flextype.php' ;