Dateien hochladen nach „“
This commit is contained in:
parent
afd29103e4
commit
7303c06335
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 Tobias Hopp
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
75
README.md
75
README.md
@ -1,3 +1,74 @@
|
|||||||
# model-view-controller-php
|
# Model View Controller principle for PHP
|
||||||
|
|
||||||
|
This MVC is a **M**odel **V**iew **C**ontroller "principle" for PHP 7.
|
||||||
|
It forms PHP to an object-oriented programming language.
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
Download the latest version of our project under releases and extract the ZIP file into your project folder.
|
||||||
|
|
||||||
|
Have a look around first.
|
||||||
|
The following files/folders are important:
|
||||||
|
- config.inc.php
|
||||||
|
- index.php
|
||||||
|
* controller/
|
||||||
|
* model/
|
||||||
|
* templates/
|
||||||
|
* views/
|
||||||
|
|
||||||
|
Under views/ you can find the current default template loader.
|
||||||
|
It replaces the following string in an HTML document: "[[KEY]]".
|
||||||
|
|
||||||
|
Templates can be found in the templates/ folder.
|
||||||
|
For example, if you don't want to use HTML as output, you can create your own view or edit the existing one instead.
|
||||||
|
|
||||||
|
Under controller/ is the main part.
|
||||||
|
There all models are addressed and actions are executed.
|
||||||
|
As a little thought support, there should already be a sample controller under controller/.
|
||||||
|
|
||||||
|
The model/ folder is used to execute certain actions, e.g. a MySQL query. It does not "think" itself.
|
||||||
|
|
||||||
|
The index file actually does the least.
|
||||||
|
It should be edited as once as possible and then everything should only be done with controllers and models.
|
||||||
|
|
||||||
|
The config.inc.php is used for the central storage of e.g. user data like MySQL data. Let your imagination run wild ^^.
|
||||||
|
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
Please use at least a PHP version of 7.0.
|
||||||
|
Only PHP7 should be installed.
|
||||||
|
|
||||||
|
### Installing
|
||||||
|
|
||||||
|
To download the project, go to the [releases](https://git.gaminggeneration.de/Tobstr_/modelviewcontroller-php/-/releases). and download the latest ZIP file.
|
||||||
|
|
||||||
|
Now unzipping all files into your project directory.
|
||||||
|
And that's it!
|
||||||
|
Have fun with tinkering.
|
||||||
|
|
||||||
|
**PS:** Yeah, it's it's *normally* that you enjoy an error when you run it the first time without any configuration!
|
||||||
|
It's because the connection to the MySQL server fails.
|
||||||
|
|
||||||
|
## Versioning
|
||||||
|
|
||||||
|
We use normal version names like v1.0.
|
||||||
|
Just download the newest ZIP.
|
||||||
|
To find out if the version you want to download is still supported, you can view [Security.md](https://github.com/Tobstr02/modelviewcontroller-php/blob/master/SECURITY.md) here.
|
||||||
|
|
||||||
|
The following PHP versions have been tested and run without problems under the version:
|
||||||
|
- *7.0*
|
||||||
|
- 7.1
|
||||||
|
- 7.2
|
||||||
|
- 7.3
|
||||||
|
- **7.4**
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
To view some documentation about this PHP-MVC, visit the [Wiki](https://git.gaminggeneration.de/Tobstr_/modelviewcontroller-php/-/wikis/home) page of this repository.
|
||||||
|
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
|
||||||
|
|
||||||
ModelViewController prinzip für PHP
|
|
18
SECURITY.md
Normal file
18
SECURITY.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Security Policy
|
||||||
|
|
||||||
|
## Supported Versions
|
||||||
|
We are currently maintaining the following versions:
|
||||||
|
|
||||||
|
| Version | Supported |
|
||||||
|
| ------- | ------------------ |
|
||||||
|
| v1.0 | :white_check_mark: |
|
||||||
|
| v1.1 | :ballot_box_with_check: |
|
||||||
|
|
||||||
|
## Supported & Tested PHP-Versions:
|
||||||
|
- 7.0
|
||||||
|
- 7.1
|
||||||
|
- 7.2
|
||||||
|
- 7.3
|
||||||
|
|
||||||
|
|
||||||
|
PHP versions below 7.0 get errors because of unique type assignments.
|
26
index.php
Normal file
26
index.php
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Includes the main inc
|
||||||
|
* This is the index file.
|
||||||
|
*/
|
||||||
|
require_once __DIR__ . '/main.inc.php';
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
# Initialize Request
|
||||||
|
$request = new Request();
|
||||||
|
|
||||||
|
# Get Controller from Factory
|
||||||
|
$controller = Factory::getController( $request );
|
||||||
|
# Get Action from Factory
|
||||||
|
$action = Factory::getAction( $controller, $request );
|
||||||
|
|
||||||
|
# Call controller and action
|
||||||
|
echo $controller->$action();
|
||||||
|
|
||||||
|
}
|
||||||
|
catch ( Exception $e )
|
||||||
|
{
|
||||||
|
# Please replace it with error template
|
||||||
|
die( 'An internal error occured while processing your request.' );
|
||||||
|
}
|
29
main.inc.php
Normal file
29
main.inc.php
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Main file load's all the important files and the autoloader.
|
||||||
|
* Bindet alles ein und setzt einige Variablen sowie die Datenbank.
|
||||||
|
*/
|
||||||
|
require_once __DIR__ . '/classes/Autoloader.class.inc.php';
|
||||||
|
require_once __DIR__ . '/config.inc.php';
|
||||||
|
|
||||||
|
# Registering autoloader
|
||||||
|
Autoloader::register();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$host = MYSQL_HOST;
|
||||||
|
$dbname = MYSQL_DB;
|
||||||
|
|
||||||
|
# Creates a mysql connection
|
||||||
|
$pdo = new PDO( "mysql:host={$host};dbname={$dbname}", MYSQL_USER, MYSQL_PASS, array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ) );
|
||||||
|
|
||||||
|
# Set DB connection
|
||||||
|
Database::setConnection( $pdo );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
catch ( Exception $e )
|
||||||
|
{
|
||||||
|
# Error occured, please replace it with error template
|
||||||
|
die( 'An internal error occured while proccessing your request' );
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user