Dateien hochladen nach „classes“
This commit is contained in:
parent
8c9e2bc1c4
commit
afd29103e4
79
classes/Autoloader.class.inc.php
Normal file
79
classes/Autoloader.class.inc.php
Normal file
@ -0,0 +1,79 @@
|
||||
<?php
|
||||
/**
|
||||
* Class Autoloader
|
||||
* Loads a class on call
|
||||
*/
|
||||
class Autoloader
|
||||
{
|
||||
|
||||
/**
|
||||
* All directorys to search for classes
|
||||
* You can add directorys if you want
|
||||
* @var static $directorys
|
||||
*
|
||||
**/
|
||||
private static $directorys = array('classes', 'controller', 'model', 'views');
|
||||
|
||||
/**
|
||||
* Load's the autoloader
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
if ( !spl_autoload_register( array( $this, 'load_class' ) ) )
|
||||
{
|
||||
die('A fatal error has occurred.');
|
||||
}
|
||||
|
||||
} # function __construct()
|
||||
|
||||
/**
|
||||
* register the autoloader
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function register()
|
||||
{
|
||||
new Autoloader();
|
||||
|
||||
} # function register()
|
||||
|
||||
|
||||
/**
|
||||
* Loads a class
|
||||
*
|
||||
* @param string $a_class_name Klassen-Name
|
||||
* @return void
|
||||
*
|
||||
*/
|
||||
public function load_class( $a_class_name )
|
||||
{
|
||||
foreach ( self::$directorys as $folder )
|
||||
{
|
||||
$file = __DIR__ . '/../' . $folder . '/' . $a_class_name . '.class.inc.php';
|
||||
|
||||
if ( file_exists( $file ) )
|
||||
{
|
||||
require_once $file;
|
||||
}
|
||||
else
|
||||
{
|
||||
$file = __DIR__ . '/../' . $folder . '/' . mb_strtolower( $a_class_name ) . '.class.inc.php';
|
||||
if ( file_exists( $file ) )
|
||||
{
|
||||
require_once $file;
|
||||
}
|
||||
else
|
||||
{
|
||||
$file = __DIR__ . '/../' . $folder . '/' . ucfirst( $a_class_name ) . '.class.inc.php';
|
||||
if ( file_exists( $file ) )
|
||||
{
|
||||
require_once $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} # function load_class(...)
|
||||
} # class
|
35
classes/Database.class.inc.php
Normal file
35
classes/Database.class.inc.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Class database
|
||||
* This class is for connecting with a database with PDO
|
||||
*/
|
||||
class Database
|
||||
{
|
||||
|
||||
/**
|
||||
* @var PDO
|
||||
*/
|
||||
private static $pdo;
|
||||
|
||||
/**
|
||||
* @param PDO $a_pdo PDO instance
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function setConnection( PDO $a_pdo )
|
||||
{
|
||||
self::$pdo = $a_pdo;
|
||||
|
||||
} # function setConnection(...)
|
||||
|
||||
/**
|
||||
* @return PDO
|
||||
*/
|
||||
public static function getConnection()
|
||||
{
|
||||
return self::$pdo;
|
||||
|
||||
} # function getConnection()
|
||||
|
||||
} # class
|
65
classes/Factory.class.inc.php
Normal file
65
classes/Factory.class.inc.php
Normal file
@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Class Factory
|
||||
* This class returns the action and controller for index file
|
||||
*/
|
||||
class Factory
|
||||
{
|
||||
/**
|
||||
* Returns the right controller
|
||||
*
|
||||
* @param Request $a_request Request
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public static function getController( Request $a_request )
|
||||
{
|
||||
# Prepare name of controller
|
||||
$controller_name = mb_strtolower( $a_request->getVar( 'controller' ) );
|
||||
$controller_name = ucfirst( $controller_name );
|
||||
$controller_name .= 'Controller';
|
||||
|
||||
if ( $controller_name === 'Controller')
|
||||
{
|
||||
$controller = new DefaultController();
|
||||
|
||||
return $controller;
|
||||
}
|
||||
|
||||
# if controller doesn't exist
|
||||
if ( !file_exists( __DIR__ . '/../controller/' . $controller_name . '.class.inc.php' ) )
|
||||
{
|
||||
return new DefaultController();
|
||||
}
|
||||
|
||||
# Call controller and returns it
|
||||
$controller = new $controller_name();
|
||||
|
||||
return $controller;
|
||||
|
||||
} # function getController(...)
|
||||
|
||||
/**
|
||||
* Returns the right action
|
||||
* @param $a_controller
|
||||
* @param Request $a_request Request
|
||||
* @return string
|
||||
*/
|
||||
public static function getAction( $a_controller, Request $a_request )
|
||||
{
|
||||
# Prepare name of the action
|
||||
$action_name = mb_strtolower( $a_request->getVar('action') );
|
||||
$action_name = str_ireplace( 'action', '', $action_name );
|
||||
$action_name .= 'Action';
|
||||
|
||||
# Action not found
|
||||
if ( !method_exists( $a_controller, $action_name ) )
|
||||
{
|
||||
return 'indexAction';
|
||||
}
|
||||
return $action_name;
|
||||
|
||||
} # function getAction(...)
|
||||
|
||||
} # class
|
56
classes/Request.class.inc.php
Normal file
56
classes/Request.class.inc.php
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Behandelt die Variablen im Request GET / POST
|
||||
* Syntax:
|
||||
* $request = getVar( "Name", "Default Wert falls kein Wert gefunden wurde", "POST/GET" );
|
||||
*/
|
||||
class Request
|
||||
{
|
||||
/**
|
||||
* GET-Request Name
|
||||
* @var static
|
||||
*/
|
||||
public static $GET = 'GET';
|
||||
|
||||
/**
|
||||
* POST-Request Name
|
||||
* @var static
|
||||
*/
|
||||
public static $POST = 'POST';
|
||||
|
||||
/**
|
||||
* Request Variablen-Wert zurückgeben
|
||||
*
|
||||
* @param string $a_name Name des Parameters
|
||||
* @param string|null $a_default Default-Wert, falls nicht vorhadnen
|
||||
* @param string $a_request Request(GET oder POST)
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getVar( $a_name, $a_default = null, $a_request = 'GET' )
|
||||
{
|
||||
if ( $a_request === self::$GET )
|
||||
{
|
||||
$requestArray = $_GET;
|
||||
}
|
||||
else if ( $a_request === self::$POST )
|
||||
{
|
||||
$requestArray = $_POST;
|
||||
}
|
||||
else
|
||||
{
|
||||
$requestArray = array();
|
||||
}
|
||||
|
||||
# Wert im Request vorhanden
|
||||
if ( isset( $requestArray[$a_name] ) )
|
||||
{
|
||||
return htmlspecialchars( $requestArray[$a_name] );
|
||||
}
|
||||
|
||||
return $a_default;
|
||||
|
||||
} # function getVar(...)
|
||||
|
||||
} # class
|
Loading…
x
Reference in New Issue
Block a user