Hi, ich bin gerade dabei ein kleines System Modular auf Basis von MVC aufzubauen.
Frei nach dem Motto Erfahrungen sammeln, womöglich später aktiv nutzen und just 4 fun.
Ich bin jetzt endlich mal auf PHP5 umgesprungen und möchte die Funktionalität schon nutzen.
Ich wollte einfach mal reinhören wie ihr das Problem includen der Dateien gelöst habe.
Ich möchte es so flexibel wie möglich halten.
Mein jetziges System ist von der Struktur ungefähr so aufgebaut.
+news
+---newsController.php
+---newsData.php
+---newsView.php
gallery
+---galleryController.php
+---galleryData.php
+---galleryView.php
lib
+--mysql.php
+--template.php
+--email.php
+--form.php
---+form
---+---textElement.php
---+---selectElement.php
usw...
Mit hilfe der funktion autoload kann ich ja nicht eingefügt Klassen includen.
Bei den Modulen ist es eigendlich kein Problem, Dateiname = ClassenName
Mein Problem sind eher die Dateien Lib/form/texteElement.php
Als mögliche Lösung hatte ich mir gedacht den ClassenNamen wie auch den Dateinamen wie das verzeichniss aufzubauen nur halt den Punkt als trennzeichen zu verwenden.
Die Lösung sehe dann so aus.
public function __autoload($classname){
$path = str_replace(".", "/", $classname);
if(file_exists($path)){
require_once($path);
}else{
...
}
}
die Classen erhalten dann nur recht komische Namen.
z.b.
lib.form.textElement
Ich wäre über einpaar Vorschläge dankbar.
Frei nach dem Motto Erfahrungen sammeln, womöglich später aktiv nutzen und just 4 fun.
Ich bin jetzt endlich mal auf PHP5 umgesprungen und möchte die Funktionalität schon nutzen.
Ich wollte einfach mal reinhören wie ihr das Problem includen der Dateien gelöst habe.
Ich möchte es so flexibel wie möglich halten.
Mein jetziges System ist von der Struktur ungefähr so aufgebaut.
+news
+---newsController.php
+---newsData.php
+---newsView.php
gallery
+---galleryController.php
+---galleryData.php
+---galleryView.php
lib
+--mysql.php
+--template.php
+--email.php
+--form.php
---+form
---+---textElement.php
---+---selectElement.php
usw...
Mit hilfe der funktion autoload kann ich ja nicht eingefügt Klassen includen.
Bei den Modulen ist es eigendlich kein Problem, Dateiname = ClassenName
Mein Problem sind eher die Dateien Lib/form/texteElement.php
Als mögliche Lösung hatte ich mir gedacht den ClassenNamen wie auch den Dateinamen wie das verzeichniss aufzubauen nur halt den Punkt als trennzeichen zu verwenden.
Die Lösung sehe dann so aus.
public function __autoload($classname){
$path = str_replace(".", "/", $classname);
if(file_exists($path)){
require_once($path);
}else{
...
}
}
die Classen erhalten dann nur recht komische Namen.
z.b.
lib.form.textElement
Ich wäre über einpaar Vorschläge dankbar.