3 namespace CoreFramework\Bootstrap;
5 // Import framework stuff
6 use CoreFramework\EntryPoint\ApplicationEntryPoint;
9 * A framework-bootstrap class which helps the frameworks to bootstrap ... ;-)
11 * @author Roland Haeder <webmaster@ship-simu.org>
13 * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2016 Core Developer Team
14 * @license GNU GPL 3.0 or any newer version
15 * @link http://www.ship-simu.org
17 * This program is free software: you can redistribute it and/or modify
18 * it under the terms of the GNU General Public License as published by
19 * the Free Software Foundation, either version 3 of the License, or
20 * (at your option) any later version.
22 * This program is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 * GNU General Public License for more details.
27 * You should have received a copy of the GNU General Public License
28 * along with this program. If not, see <http://www.gnu.org/licenses/>.
30 final class FrameworkBootstrap {
32 * Private constructor, no instance is needed from this class as only
33 * static methods exist.
35 private function __construct () {
36 // Prevent making instances from this "utilities" class
40 * Does the actual bootstrap
44 public static function doBootstrap () {
45 // Load basic include files to continue bootstrapping
46 require ApplicationEntryPoint::detectFrameworkPath() . 'main/interfaces/class_FrameworkInterface.php';
47 require ApplicationEntryPoint::detectFrameworkPath() . 'main/interfaces/registry/class_Registerable.php';
48 require ApplicationEntryPoint::detectFrameworkPath() . 'config/class_FrameworkConfiguration.php';
50 // Load main configuration
51 require ApplicationEntryPoint::detectFrameworkPath() . 'config.inc.php';
55 * Checks all parameters, like $_GET, $_POST, $_COOKIE and also "emulated"
56 * from command-line. Accepted CLI parameters are in following forms:
58 * --foo=bar - parameter 'foo' gets value "bar" (string)
59 * --enable-foo=true - parameter 'enableFoo' gets value true (boolean)
60 * --baz=123 - parameter 'baz' get value 123 (interger)
62 * The same also works without 2 dashes as it was possible before:
64 * app=tests - launches application 'tests' (parameter 'app' gets string value "tests")
66 public static function checkParameters () {