Zitat:
Zitat von DokuLeseHemmung
... Verwende SPL Autoload für Klassen, wie es sich gehört. ...
|
Ich habe in meiner Head-Datei es so gemacht wie das Klassen-Autoload im Manual beschrieben ist:
PHP-Code:
function __autoload($class_name)
{
if (file_exists(CLASSES_INC_DIR."{$class_name}.class.php5"))
{
require_once (CLASSES_INC_DIR."{$class_name}.class.php5");
}
else
{
require_once (ADMIN_CLASSES_INC_DIR."{$class_name}.class.php5");
}
}
In den Klassen-Dateien werden dann die Klassen so definiert wie ich es in einem meiner vorherigen Threads gepostet habe.
Ich hatte irgendwann mal die glorreiche Idee so eine Art Autoloader-Funktion für Funktionen zu schreiben.
Diese Funktion sieht so aus:
PHP-Code:
function call_function ()
{
$arg_list = func_get_args();
$func_values = explode("|",$arg_list[1]);
if (file_exists(FUNC_INC_DIR.$arg_list[0].".func"))
{
include(FUNC_INC_DIR.$arg_list[0].".func");
}
elseif (file_exists(ADMIN_FUNC_INC_DIR.$arg_list[0].".func"))
{
include(ADMIN_FUNC_INC_DIR.$arg_list[0].".func");
}
elseif (isset($arg_list[2]) && file_exists(ADMIN_FUNC_INC_DIR."/{$arg_list[2]}/{$arg_list[0]}.func"))
{
include(ADMIN_FUNC_INC_DIR."/{$arg_list[2]}/{$arg_list[0]}.func");
}
}
Der Aufruf sah (sieht momentan noch) so z.B. aus:
PHP-Code:
call_function("references_category",NULL,"new");
Dieses gemache wird aber bald der Geschichte angehören da ich momentan am umbauen bin. Es gibt einiges was mich daran stört. Deswegen werde ich nach und nach alles was darüber eingebunden wird in entsprechende Klasse(n) übernehmen.
1und1 limitiert bei den beiden Paketen wo ich Zugriff auf das Kundenpanel habe die maximale Anzahl auf 262144 Dateien bei verschiedenem Webspacespeicherplatz, je 3000MB und 5000MB.
Das ist zwar ne ganze Menge an Dateien, ich achte aber trotzdem darauf die Anzahl der Dateien die ich für das Script erstelle und den Speicherplatzverbrauch durch diese Dateien zu minimieren.
Zitat:
Zitat von DokuLeseHemmung
... Deine Art und Weise die Welt in Klassen abzubilden entspricht nicht der üblichen Vorgehensweise. Aus meiner Sicht ein Irrweg. ...
|
Ich bleibe trotzdem dabei. Jeder so wie er/sie es für sich am besten findet. Dieser Weg ist halt für mich momentan der einfachste.
Ich sage nicht dass es, auch für mich, für immer der Ultimative Weg ist, aber momentan schon.
Ich werde mich trotzdem in Zukunft tiefer in das Thema einlesen. Ich bin froh dass ich es überhaupt hinbekomme Klassen und Methoden zu bauen und zu nutzen.
Kai aka Knight1