-
Schneller Einstieg
-
Grundlagen
-
Hilfsklassen
- Benchmark Klasse
- Cache Klasse
- Captcha Klasse
- cURL Klasse
- Database Klasse
- Date Klasse
- Errors Klasse
- FileSystem Klasse
- FTP Klasse
- Images Klasse
- Language Klasse
- Logger Klasse
- Number Klasse
- PayPal Klasse
- PHPMailer Klasse
- Plugins Klasse
- RestClient Klasse
- Security Klasse
- Template Klasse
- Text Klasse
- URL Klasse
- XML Klasse
- ZIP Klasse
Hallo Welt
webpackages Arbeitet nach dem MVC Prinzip. Das heißt im groben das HTML / CSS Code vom PHP Code getrennt voneinander sind. Das trifft nur halb auf das webpackages Framework zu. Denn webpackages braucht PHP um dynamische Inhalte auf HTML Seiten auszugeben. Wie geht das genau?
Im Ordner packages finden Sie 2 Ordner die für dieses Beispiel nötig sind. Erstens der Ordner controllers
. Dieser hat die Aufgabe, die Webanwendung mit Daten aus der Datenbank (oder von wo auch immer) zu versorgen und die Daten, wenn gewünscht, zu speichern oder auszugeben. Dieser wird auch das sogenannte Template (HTML / CSS) aufrufen und Werte übergeben die das PHP im HTML Skript verarbeiten / darstellen soll. Der zweite Ordner ist der views
Ordner. Hier drin liegen unserer Templates sowie CSS und Javascript Dateien.
-
package
Der webpackages Hauptordner
-
controllers
Enthält Controllers die die Webanwendung mit Daten versorgen
- welcome.class.php Der Controller der das Template aufruft und die Darstellung aufbaut
-
views
Enthält Template die die Webseite das aussehen verleihen
- css Der Beispiel CSS Ordner
- js Der Beispiel Javascript Ordner
-
templates
Enthält die Templates zur Darstellung
- header.php Die Kopfdatei die in jedes Template automatisch an oberster stelle eingefügt wird.
- footer.php Die Fussdatei die in jedes Template automatisch an unterster stelle eingefügt wird.
- index.php Die index enthält den body Bereich einer Seite (da head und footer von den beiden anderen kommen).
-
controllers
Enthält Controllers die die Webanwendung mit Daten versorgen
welcome.class.php
Die welcome.class.php würde für den Aufruf des index.php
Template wie folgt aussehen:
<?php
class welcome extends \package\core\load_functions
{
public function hello()
{
$this->template->setData(array(
'hello_world' => 'Hello World'
));
$this->template->display('template/index.php');
}
}
?>
Hierbei ist zu beachten das eure Klasse die Klasse load_functions erbt. Diese enthält die Hilfsklassen und wird euch helfen das Template aufzurufen sowie Daten zu übermitteln.
Analyse des Codes
Was geschieht nun eigentlich in der welcome Klasse?! Nun es ist eigentlich ganz simpel. Die welcome Klasse bekommt als aller erstes die load_functions Klasse vererbt. Diese enthält alle Hilfsklassen die man nach der Vererbung auch verwenden kann. Als nächstes wird in der welcome Klasse die Methode definiert die Aufgerufen werden soll. Dies ist in unserem Fall der hello Methode. In dieser bauen wir mit der Hilfsklasse template
eine Verbindung zu unserem template/index.php
Template auf.
$this->template->display('template/index.php');
Außerdem übergeben wir an das Template noch eine Variable
$this->template->setData(array(
'hello_world' => 'Hello World'
));
Diese Variable heißt hello_world
und besitzt den Inhalt Hello World
. Die Hilfsklasse template
übermittelt nun die Variable an das Template und ruft anschließend das Template ab um es darzustellen. Im Hintergrund fügt er vor dem Aufruf das header.php
Template und das footer.php
Template an die index.php
an.
Template Analyse
Im folgenden Schritt Analysieren wir das Template index.php
um herauszufinden wie zum Beispiel die hello_world
Variable im Template ausgegeben werden kann. Die index.php
sieht wie folgt aus:
index.php
<body>
<p><?php echo $hello_world; ?></p>
</body>
Wie Sie sehen, wurde die hello_world
Variable, die wir an die Hilfsklasse template
übermittelt hatten in eine PHP Variable $hello_world
umgewandelt. Somit konnten wir diese ganz leicht im Template ausgeben. Dies funktioniert auch mit arrays, objekten, integer, boolean und anderen Typen die in PHP zur Verfügung stehen. Sogar ganze Klasse könnten übermittelt werden. Dabei arbeitet webpackages sauber, schnell und zuverlässig.
Dabei sollten wir uns auch einmal kurz die header.php
und die footer.php
anschauen. Diese enthalten den Kopf und Fussbereich des Templates.
header.php
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World Example</title>
</head>
footer.php
</html>
In der Webausgabe Ihres Benutzers würde das alles zusammengefügt ausgegeben werden und schlussendlich wie folgt aussehen.
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World Example</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>
Die Methode hello()
ist eine Standard Methode wenn keine andere als Parameter übergeben wird.
Klassen Aufruf steuern
Um den Aufruf eurer Klassen zu steuern benötigt webpackages mindestens 2 GET Parameter.
$_GET['c']
Dieser ruft die Klasse auf (in unserem Beispiel welcome, aber ohne das .class.php)$_GET['m']
Dieser sucht in der Klasse die Methode (in unserem Fall hello)
Ein Beispiel Aufruf könnte wie folgt aussehen: https://www.example.de/index.php?c=welcome&m=hello
Wenn ich die Klasse foo Aufrufen würde wollen und darin die Methode overview, würde es wie folgt aussehen: https://www.example.de/index.php?c=foo&m=overview
Wenn man mod_rewrite
installiert und aktiviert hat, kann die GET Anweisung auch wie folgt aussehen: https://www.example.de/foo/overview.html