kostenloser Webspace werbefrei: lima-city


BlockHub System - Einfacher Baukasten

lima-cityForumDie eigene HomepagePromotion

  1. Autor dieses Themas

    mrschneiderlein

    mrschneiderlein hat kostenlosen Webspace.

    Hey Leute,
    wollte einfach mein kleines Projekt vorstellen.

    Es ist ein keinfacher Webseiten Baukasten der über json läuft,
    Man kann Vorgefertige Blöcke nutzten unnd so ein bisschen basteln, ist recht einfach gehalten ohne Community hintergrund, das augenmerkt liegt eher bzw. nur auf dem Baukasten System.

    Die logik daherhinter war schoon bisschen Tricky aber läuft eigentlich ganz gut.
    Hat mich nur ein paar neven und nächte gekostet :biggrin:

    Das ganze ist OpenSpource unter der GPL Lizenz, Ihr könnt es also gernen so verwnden wie Ihr möchtet, oder auch gerne für euch weiter ausbauen, ich bin kein PHP guru und alles im Code ist nicht nicht perfekt oder könnte besser gemacht sein.

    Das Teil ist recht klein, einfach zu Installieren und die Benutzung sollte recht Intuitiv sein.

    Glaube zwar nicht dass es einer Benutzen möchte aber falls doch ich bin über jeden der auch nur Testet oder mal was dazu sagt natürlich froh.

    Ihr findet alle Infos unter https://blockhubsys.de/.

    Lieben gruß an alle
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. bruchpilotnr1

    Kostenloser Webspace von bruchpilotnr1

    bruchpilotnr1 hat kostenlosen Webspace.

    mrschneiderlein schrieb:
    Hey Leute,
    wollte einfach mein kleines Projekt vorstellen.

    Es ist ein keinfacher Webseiten Baukasten der über json läuft,
    Man kann Vorgefertige Blöcke nutzten unnd so ein bisschen basteln, ist recht einfach gehalten ohne Community hintergrund, das augenmerkt liegt eher bzw. nur auf dem Baukasten System.

    Die logik daherhinter war schoon bisschen Tricky aber läuft eigentlich ganz gut.
    Hat mich nur ein paar neven und nächte gekostet :biggrin:

    Das ganze ist OpenSpource unter der GPL Lizenz, Ihr könnt es also gernen so verwnden wie Ihr möchtet, oder auch gerne für euch weiter ausbauen, ich bin kein PHP guru und alles im Code ist nicht nicht perfekt oder könnte besser gemacht sein.

    Das Teil ist recht klein, einfach zu Installieren und die Benutzung sollte recht Intuitiv sein.

    Glaube zwar nicht dass es einer Benutzen möchte aber falls doch ich bin über jeden der auch nur Testet oder mal was dazu sagt natürlich froh.

    Ihr findet alle Infos unter https://blockhubsys.de/.

    Lieben gruß an alle


    Beeindruckend! Du bist der erste, den ich hier erlebe, der ein eigenes Script erstellt hat und es sogar hier kostenfrei teilt :thumb:

    Das Projekt Baukasten ist an sich nicht schlecht. Die idee dahinter ist schonmal sehr gut und ich denke mit ein wenig mehr Open Source Script könnte das sogar was werden.

    Besonders finde ich ja, dass du angibst, dass dieses System nur PHP benötigt. Keine Datenbanken oder andere Anforderungen.

    Scheint für Leute Attraktiv zu sein, die sich nicht so auskennen mit der materie oder mit Datenbanken.

    Das Design sieht schonmal nach einem Konzept aus. Es ist aber dann ein standartisiertes System, welche selbst keine Möglichkeit zur Individualisierung bietet (es sei denn natürlich, jemand legt selbst mit Coding hand an).

    Den Texteditor finde ich recht interessant sowie die Möglichkeit Dateien Hochladen zu können. Ich könnte mir Vorstellen, dass das für Firmeninterne Netzwerke als Downloadserver Lösung verwendung finden könnte, da das System selbst diese einfachen Funktionen Anbietet und weil es nur ~160 kb schwer wiegt auf der Festplatte. Das sorgt für maximale Effizienz bei der belegung des Speichers. WordPress würde selbst ~35-40 MB und eine Datenbank (+Datenbankspeicher) erfordern.

    Dein System macht sich also sehr Nützlich, sowie effizient. Ich denke, dass dieser Baukasten auch auf deutlich älteren PHP Versionen laufen würde.

    Alles in allem: Großartig:prost:

    PS: Das Script könntest du auch bei GitHub hochladen und dort zur Verfügung stellen. Würde bei der Bekanntheit des Scripts Helfen.
  4. Autor dieses Themas

    mrschneiderlein

    mrschneiderlein hat kostenlosen Webspace.

    hey hey,

    erst einmal vielen Dank, das ist mal wirklich eine Kritik die Aussagekräftig ist, das freut mich.
    Was soll ich darauf Antworten, du hast ja alles super zusammen gefasst und es ist auch alles richtig :cool:

    Ich habe die Tage an einem Update gearbeitet.

    - Schöneres Moderes UI (leichte UX Visualisierung).
    - Toolbar für den Editor
    - Hauprfarben können geändert werden.

    Bis das alles richtig läuft dauert nur es immer ein wenig weil das doch alles recht Komplex ist.
    Dabei möchte darauf achten dass es immer noch klein ist und fast überall läuft.

    Auch Opensopurce und weglassen des Copyrights waren bewusste Entscheidungen, ich bin selbst ein riesen OpenSource ob online oder auf dem PC/Laptop.

    Die PHP fähigkeit muss ich noch testen, das System ist auf PHP 8 Programmiert, unter 6 habe ich es auch zum laufen bekommen, aber dazu bräuchte ich echt ein paar verrückte die das noch testen, auch auf testserver oder XAMMP läuft es. noch möcge aber nicht schreben auf welchen versionen es genau läuft da ich keinem Falsche versprechungen machen möchte.

    Und ich bin ehrlich, auf Github hab ich mich noch nicht getraut hochzuladen, ich Programmiere privat und mache das nicht beruflich, die Profis schauen in den Quellecode und bekommen entweder ein Herzinfakt oder Lachen warscheinlich darüber :lol:

    Aber nochmal vielen Dank für deine Ausführliche Kritik :prost:
  5. bruchpilotnr1

    Kostenloser Webspace von bruchpilotnr1

    bruchpilotnr1 hat kostenlosen Webspace.

    mrschneiderlein schrieb:
    hey hey,

    erst einmal vielen Dank, das ist mal wirklich eine Kritik die Aussagekräftig ist, das freut mich.
    Was soll ich darauf Antworten, du hast ja alles super zusammen gefasst und es ist auch alles richtig :cool:


    Bitte sehr :thumb:

    Ich habe die Tage an einem Update gearbeitet.

    - Schöneres Moderes UI (leichte UX Visualisierung).
    - Toolbar für den Editor
    - Hauprfarben können geändert werden.

    Bis das alles richtig läuft dauert nur es immer ein wenig weil das doch alles recht Komplex ist.
    Dabei möchte darauf achten dass es immer noch klein ist und fast überall läuft.


    Das klingt ziemlich gut. Bin mir sicher, dass das dir gelingen wird.:approve:

    Auch Opensopurce und weglassen des Copyrights waren bewusste Entscheidungen, ich bin selbst ein riesen OpenSource ob online oder auf dem PC/Laptop.

    Ich empfehle dir dennoch, dass du zumindest in den ReadME dateien bzw. in den Dateien selbst dich als "Autor" einträgst mit deiner Webseite. Und warum? Weil du dieses Projekt auch dann als richtige Refferenz Nutzen kannst. Auch wenn etwas Open Source ist, hat ein Programm immer einen Urheber und es wäre schön, wenn dieser Urheber auch in den Dateien niedergeschrieben ist.

    Das ist auch bei WordPress der fall. Ist Open-Source, aber jeder der daran mitgearbeitet hat wird erwähnt.

    Du musst deinen Namen oder deine Webseite nicht im Footer eintragen oder Zeigen lassen in der öffentlichkeit, wenn du das nicht willst. Aber innerhalb der Dateien sollte schon eine Quelle des Ursprungs genannt werden bzw. der Creator Name.

    Die PHP fähigkeit muss ich noch testen, das System ist auf PHP 8 Programmiert, unter 6 habe ich es auch zum laufen bekommen, aber dazu bräuchte ich echt ein paar verrückte die das noch testen, auch auf testserver oder XAMMP läuft es. noch möcge aber nicht schreben auf welchen versionen es genau läuft da ich keinem Falsche versprechungen machen möchte.


    Das ist schon richtig gut. Bei Lima-City kannst du die PHP Version bis auf 5.6 einstellen. Alles darunter ist hier nicht mehr verfügbar. Wenn mit dem Script keine Datensensiblen dinge Getauscht oder veröffentlicht werden, dann kann man das auch auf alten PHP Versionen laufen lassen. Aber empfehlen würde ich das nicht. Es sollte eher bei einer Machbarkeitsstudie bleiben.

    Und ich bin ehrlich, auf Github hab ich mich noch nicht getraut hochzuladen, ich Programmiere privat und mache das nicht beruflich, die Profis schauen in den Quellecode und bekommen entweder ein Herzinfakt oder Lachen warscheinlich darüber :lol:


    Ich glaube nicht, dass die GitHub Nutzer darüber lachen werden. GitHub ist für Entwickler ein Ort um sich gegenseitig zu Helfen bei der Entwicklung von Software. Die meisten Nutzer sind dort nur Privat. Darüber brauchst du dir keine Gedanken machen. Du ermöglichst erst mit der Veröffentlichung des Scripts, dass andere daran arbeiten und das man es viel leichter finden kann.

    Als Beispiel: Schaue dir mal die Scripte von https://www.php-space.info/scripte/ an. Die sind auch alle nicht Perfekt oder sehen schick aus. Und sie haben dennoch alle ein Copyright eingebaut und sind soweit ich weiß open Source. Auch wenn dessen Software Pragmatisch ist und nicht jedem vom Design oder Funktion zusagt, so wird dennoch ein Copyright gesetzt. Zumindest bei dessen eigenen Software.

    Aber nochmal vielen Dank für deine Ausführliche Kritik :prost:


    Kein Problem. Ich wünsche dir auf jeden fall viel erfolg bei deinem Script ^^.

    Beitrag zuletzt geändert: 3.2.2025 13:02:58 von bruchpilotnr1
  6. witze-dschungel

    witze-dschungel hat kostenlosen Webspace.

    mrschneiderlein schrieb:
    Die PHP fähigkeit muss ich noch testen, das System ist auf PHP 8 Programmiert, unter 6 habe ich es auch zum laufen bekommen

    Dafür gibt es keinen Grund. Alles unter PHP 8.1 wird nicht mehr mit Sicherheitsupdates unterstützt. https://www.php.net/supported-versions.php
    Außerdem glaube ich nicht, dass du PHP 6 getestet hast, da diese Version nicht existiert. Du meinst vermutlich PHP 7 oder PHP 5.

    @bruchpilotnr1 Warum genau bestehst du darauf, das Projekt soll mit älteren PHP-Versionen laufen? Willst du bei alten Windows-Programmen auch, dass diese unter Windows 95 laufen?

    Beitrag zuletzt geändert: 3.2.2025 13:14:38 von witze-dschungel
  7. Autor dieses Themas

    mrschneiderlein

    mrschneiderlein hat kostenlosen Webspace.

    witze-dschungel schrieb:
    mrschneiderlein schrieb:
    Die PHP fähigkeit muss ich noch testen, das System ist auf PHP 8 Programmiert, unter 6 habe ich es auch zum laufen bekommen

    Dafür gibt es keinen Grund. Alles unter PHP 8.1 wird nicht mehr mit Sicherheitsupdates unterstützt. https://www.php.net/supported-versions.php
    Außerdem glaube ich nicht, dass du PHP 6 getestet hast, da diese Version nicht existiert. Du meinst vermutlich PHP 7 oder PHP 5.

    @bruchpilotnr1 Warum genau bestehst du darauf, das Projekt soll mit älteren PHP-Versionen laufen? Willst du bei alten Windows-Programmen auch, dass diese unter Windows 95 laufen?


    Entschuldige, ich sollte ab und zu echt nach die Versionen Kontrollieren beim schreiben.
    Ich bin auf PHP 7 runter bei Lima City zum testen :shy: die 5.6 wollte ich nicht testen da ich nicht glaubte dass das ginge.

    Und ja es ist mir Wichtig dass auch Leute mit älteren PHP Versionen das zum laufen bekommen können, je nach dem wie kompatibel ich es halten kann.

    Die Sicherheit muss ich sowieso noch verberssern, dadruch werde ich sowieso Probleme bekommen und könnte ich Software Programmieren würde ich auch solange es geht auch Versuchen ältere Systeme zu bedienen, was natürlich mittlerweile fast unmöglich wird ich weiß.

    Und warum.. einfach nur weil es ein Persönliches anliegen ist :cool:
  8. bruchpilotnr1

    Kostenloser Webspace von bruchpilotnr1

    bruchpilotnr1 hat kostenlosen Webspace.

    witze-dschungel schrieb:
    @bruchpilotnr1 Warum genau bestehst du darauf, das Projekt soll mit älteren PHP-Versionen laufen? Willst du bei alten Windows-Programmen auch, dass diese unter Windows 95 laufen?


    Ich habe nie darauf bestanden, dass das darauf laufen soll. Das muss ein Missveständnis sein. Es bezog sich auf die simplen Eingenschaften des Scripts, dass es sicherlich auch auf anspruchsloseren Basis laufen könnte, aber nicht unbedingt sollte. Ich finde diese Eigenschaft nur durchweg Positiv und erachte daher dieses Script dann nur als Zugänglicher.

    Und ich habe im letzten Beitrag erwähnt, dass das bei einer Machbarkeitsstudie Bleiben sollte, eben wegen den Sicherheitsupdates. Mich hätte es lediglich technisch interessiert, welche PHP Version es mindestens sein muss, damit das nicht mehr ordnungsgemäß funktioniert.
  9. Autor dieses Themas

    mrschneiderlein

    mrschneiderlein hat kostenlosen Webspace.

    bruchpilotnr1 schrieb:
    witze-dschungel schrieb:
    @bruchpilotnr1 Warum genau bestehst du darauf, das Projekt soll mit älteren PHP-Versionen laufen? Willst du bei alten Windows-Programmen auch, dass diese unter Windows 95 laufen?


    Ich habe nie darauf bestanden, dass das darauf laufen soll. Das muss ein Missveständnis sein. Es bezog sich auf die simplen Eingenschaften des Scripts, dass es sicherlich auch auf anspruchsloseren Basis laufen könnte, aber nicht unbedingt sollte. Ich finde diese Eigenschaft nur durchweg Positiv und erachte daher dieses Script dann nur als Zugänglicher.

    Und ich habe im letzten Beitrag erwähnt, dass das bei einer Machbarkeitsstudie Bleiben sollte, eben wegen den Sicherheitsupdates. Mich hätte es lediglich technisch interessiert, welche PHP Version es mindestens sein muss, damit das nicht mehr ordnungsgemäß funktioniert.


    juhu, dir wollte ich auch noch Antworten aber ich wuste nicht dass ich nur einen einzigen Beitrag schreiben kann :)

    Erst einmal danke für deine Aufmunternde Worte da macht das Coden doch viel mehr Spaß.
    Ich denke er hat die Beiträge etwas verwechselt eigent bin ich derjenige der darauf besteht dass es auch unter älteren läuft :lol:
    Aber ich muss gestehen er hat ja recht, so ehrloich sollte ich mit mir selbst auch sein und wenn ich die Sicherheit ausbaue werde ich da Automatisch Probleme bekommen.

    @ich schaff das
    Sage das bitte nicht soi laut, ich habe manche Dinge einfach sein lassen bzw. nach hintern verschieben müssen da es einfach zu Komplex ist, besonders der Editor mit dem Javascript, das zickt gerne bisschen herum, aber natürlich gebe ich mir mühe und versuche da auch mein bestes klar.

    Und ja, ich schau mal dass ich auf gut gehe und villeicht auch mal in Forum, ich brauche mal ein paar Profis die das besser können, villeicht hast der ein oder andere doch noch einen Tipp oder ne Info, bin ja um kede hilfe froh so ist das nicht.

    Achja und im Quellcode habe ich mich drin so ist das nicht, nur auf der offenen Seite nicht, ich bin da echt nicht geil drauf, im Quellcode werde ich das auch ändern und nur in die Readme setzen.

    Ich sag mal so, ich denke jeder der relativ gut PHP kann, kann auch so etwas selbst erstellen es ist halt einfach nur ne Menge Arbeit.
    Mir ist es Wichtig dass das System überall läuft, selbst auf dem einfachsten Speicherplatz im Netz.

    Bin auch gerne für Vorläge oder Ideen offen und soweit es meine kenntniss zulässt werde ich auch Versuchen das umzusetzten, im MOment ist es noch ein Grundsystem da fehlt noch so viel.

    Ne "grobe" Seo Optimierung, Beschreibung etc. das sind Grundelemente die einfach rein müssen, ein Anpassbares Kontaktformular ist wäre auch relativ Wichtig.:rolleyes:
    Immer eins nach dem anderen, je mehr Leute das Testen desto eher kann ich auch Fehler oder Probleme beheben oder auf Wünsche eingehen.

    Um Platz zu Sparen bin ich auch extra wieder auf gif und benutze SVG, das lohnt sich richtig.

    Und wenn es wirklich benutzt werden würde wäre ich da wirklicuh froh drüber, aber dazu heißt es bauen, bauen und bauen :lol:

    //Edit:
    -------

    Habe jetzt die Version 0.0.2 zum Download bereit gestellt, kann gerne benutzt und getestet werden.
    Ein Update kann ich nicht empfehlen da neue Dateien und Verweise hinzugekommen sind, Ihr könnt aber versuchen eure content.json sichern und diese dann mit der Standard content.json zu ersetzten das sollte "eigengetlich" funktionieren.

    https://blockhubsys.de/index.php?title=Download

    beste grüße

    Beitrag zuletzt geändert: 4.2.2025 13:13:53 von mrschneiderlein
  10. witze-dschungel

    witze-dschungel hat kostenlosen Webspace.

    mrschneiderlein schrieb:
    Die Sicherheit muss ich sowieso noch verberssern

    Ja. Mir ist auf die Schnelle folgendes aufgefallen, was dir hoffentlich bewusst ist:
    - Die Nutzerdatei ist öffentlich über das Internet erreichbar. Die Passwörter sind immerhin gehasht, aber die Nutzernamen sind im Klartext erkennbar. Besser wäre, wenn die Datei gar nicht über das Internet erreichbar wäre, und mit .php endet und nicht mit .json. JSON kannst du auch in PHP haben.
    - Kein Schutz gegen Cross-Site-Request-Forgery (CSRF), alles in der Administration könnte von jedem unter bestimmten Umständen leicht geändert werden. Du solltest dich damit näher beschäftigen.
    - Keine Authentifizierung auf /save_colors.php, jeder kann unangemeldet die Farben überschreiben
    - Du lädst ein externes Skript und Stylesheet von jsdelivr ohne integrity-Attribut. Die externe Seite kann Schadcode einschleusen, was du nicht verhinderst. Generell gibt es keinen Grund, dafür einen externen Hoster zu nutzen.

    Immerhin schreibst du, dass das CMS nur zu Testzwecken geeignet ist. Du solltest dir auch der Verantwortung bewusst sein, ein System ins Internet zu stellen, was vielleicht von anderen benutzt wird, und entsprechende Sicherheitslücken beheben.

    Solltest du Fragen zu bestimmten Punkten haben, kann ich dir diese gerne genauer beantworten.

    Beitrag zuletzt geändert: 8.2.2025 7:59:21 von witze-dschungel
  11. witze-dschungel schrieb:
    [...]


    Hm, ich finde, du übersiehst den Elefanten im Porzellan-Laden.

    Erstmal zu den guten Dingen:
    1. Designvorlage ist minimalistisch, das ist gut+
    2. Nutzung von json anstatt einer Datenbank oder fixen php-Dateien ist auch gut, die Datenstruktur minimalistisch und ist ggf. erweiterbar.
    3. Du stellst den Code öffentlich und lässt ihn validieren.
    4. ist es kein Baukasten, es ist ein spartanisches Content Management System. ein Baukasten oder Framework sieht anders aus. Jedes hat seinen Einsatzbereich.


    ##########################
    Jetzt zu meinen Kritikpunkten:
    1. was ich da gesehen habe sollte Tatsächlich bis PHP5.6 ausführbar sein. Das heißt, die Evolutionen der Scriptsprache PHP hast du komplett ignoriert. Das kann zum einen ein Vorteil sein, fast 20 Jahre abwärtskompatibel zu sein, zum anderen ist es von Nachteil, da die netten OOP-Erweiterungen, die PHP mittlerweile implementiert hat, die auch Dinge vereinfachen, schlichtweg dir vorenthalten bleiben. Was ich damit sagen will: Du machst dir selbst das Leben unnötig schwer und denen die das Projekt nicht nur nutzen, sondern auch anpassen und weiter entwickeln wollen

    2. da du die Inhalte sowieso bereits als content.json vorliegen hast, könntest du die komplette Seitennavigation clientseitig auslagern. Das Problem was du jedoch hast ist, dass du jedes mal serverseitig Anzeigemodule aufbereitest, bevor sie ausgeliefert werden. Wenn du sie jedoch als JS zur Laufzeit einliest, sparst du dir jedes mal den Server-Request. Das hat viele Vorteile: reduzierte Anzahl an Anfragen auf deinen Server, kein Tracking des Seitennutzungsverhaltens, da der Server nicht jede Seitennavigation mitbekommt, das heißt eine Cookie-Notice fällt sowieso spartanisch aus. Ich habe es bei einem Job-Portal eines ehemaligen Arbeitgebers so gelöst, dass alle stellen per json eingelesen werden und per js einfach in der Detailansicht als Overlay über die jquery.Datatables angezeigt werden.

    3. wie du auch in deiner Installationsanleitung mit chmod 777 gezeigt hast, hast du dich nicht ausreichend mit dem Berechtigungskonzept auseinander gesetzt. wenn du es für freehostings konzipiert hast, solltest du dich dringendst einmal damit auseinander setzen und vor allem mit der Nutzung der .htaccess, damit bestimmte Bereiche gar nicht direkt angebrowst werden können, wie zum Beispiel komplette Auflistungen von Ordnern

    4. du hast eine Funktion in der Datei admin.php, also eigentlich ist es keine Funktion, du frägst nur ab, mitten im code auf Zeile 304, ob es ein POST ist. bei jedem POST nimmst du an, dass es ein Passwortwechsel ist... während du oben frägst, ob ein title mitgeliefert wird, ein set_home oder ob dateien mitgeliefert werden

    5. kopierte codes: in der index.php hast du eine funktion für die bbcodes auf Zeile 150, imn der admin.php hast du bbcode-Interpretation auf 265. Wenn sich da Änderungen ergeben, musst du es in beiden anpassen, weil du den Code nicht entsprechend ausgelagert hast.


    mir sind noch einige andere Dinge aufgefallen bei der Code-Auswertung, aber das würde hier den Rahmen sprengen.


    ----------------------------------

    damit hier nicht nur Gemecker steht, ein paar Verbesserungsvorschläge:

    1. gliedere ALLE Funktionalitäten aus, damit sie zum einen entweder als read für die Anzeige oder write für den Admin-Bereich zur Verfügung stehen. Mach dir dazu ein konzept-Papier/Klassendiagramm, was für dich am gescheitesten funktioniert.

    2. Variable Dinge, wie header-Informationen, pfadangaben, zu ladene Module.

    3. werde dir im klaren darüber, wann du wo welche Module nutzen willst. mit dem Projekt hast du einen guten Ansatz, die komplette Webseite als einen einzigen Request auszuliefern.

    4. Ausbau einer Modularität: für die Darstellung solltest du dir im klaren sein, dass es bestimmte Zusatzinformationen benötigt, wenn du Inhalte einpflegen willst. aktuell hast du für deine content.json folgende Struktur:

    pages
    |-page[0..x]
    | |-title
    | |-content
    |
    |-startpage
    |-title


    über den Editor (wenn du den selbst geschrieben hast, ist er dir gut gelungen), kannst du zwar eine gewisse Flexibilität reinbringen, aber dinge wie vordefinierte Templates, wie Slider oder ähnliches bleiben dir vorenthalten, da es doch eher umständlich ist, derartiges so zu implementieren(was du aber als Modul implementieren könntest, wenn du eine andere Codestruktur hast.)

    Ich habe erst vor kurzem einen Azubi eine ähnliche Aufgabe machen lassen(für eine zentrale Logfile-Auswertung einer speziellen Anwendung), dabei war mir vor allem wichtig, dass er die Logik aufbaut(ok, eigentlich habe ich die Logik durch gezielte Fragestellung vorgegeben und zum Schluss das auch selbst zusammen gescriptet). als Beispiel mal einen Auszug:

    index.php
    <?php
    require_once './config.php';
    
    $core_meta = array(
    	"name"		=>	"core",
    	"version"	=>	"v0.1",
    	"release"	=>	"1970-01-01");
    
    if(DEBUG)	{
    	error_reporting(E_ALL);
    	ini_set('display_errors', 1);
    }
    
    
    //class_loader
    foreach(CLASSES as $class)
    	require_once(PATH_ROOT_CLASSES.$class["name"]."/".$class["name"]."_".$class["version"].".php");
    
    core_debug::addNode($core_meta);
    core_debug::addMessage($core_meta["name"], "Debugger initialisiert.");
    
    //------------------------------------------------
    
    $db_pdo = new core_db(core_db_rw);



    core_debug_v0.1.php
    <?php
    
    class core_debug	{
    	
    	static $this = array(
    		"name"		=>	"core_debug",
    		"version"	=>	"v0.1",
    		"release"	=>	"1970-01-01");
    	
    	protected static $messages = array();
    	protected static $meta = array();
    	
    	
    	public static function addNode($meta_module)	{
    		if(isset(static::$messages[$meta_module["name"]])) throw new Exception($meta_module['name']." exsistiert bereits!");
    		static::$messages[$meta_module["name"]] = array();
    		static::$meta[$meta_module["name"]] = $meta_module;
    	}
    	
    	public static function checkNode($name)	{
    		return isset(static::$meta[$name]);
    	}
    	
    	public static function addMessage($node, $message, $errorcode = 0)	{
    		if(!isset(static::$messages[$node])) throw new Exception($node.": unbekannter Knoten!");
    		static::$messages[$node][] = array(	"timestamp" => microtime(true),
    											"message"	=> $message,
    											"code"		=> $errorcode);
    	}
    	
    	public static function debugOutput($node = null)	{
    		if($node)
    			return array(	"meta"		=>	static::$meta[$node],
    							"messages"	=>	static::$messages[$node]);
    		else
    			return array(	"meta"		=>	static::$meta,
    							"messages"	=>	static::$messages);	
    	}
    	
    //TODO GUI
    	
    }
    ?>


    Ausschnitt aus der config.php
    define('DEBUG', true);
    
    //---Registered Modules--------------------------------------------------------//
    
    define("CLASSES", array(
    	array(
    		'name'		=> 'core_debug',
    		'version'	=> 'v0.1'
    	),
    	array(
    		'name'		=> 'core_db',
    		'version'	=> 'v0.1'
    	),
    ));


    In diesem Auszug wird ein komplettes Debug-Modul implementiert, welches bei entsprechender Weiterführung der einzelnen Metadaten pro Modul die definierten Debug-Informationen entgegennimmt und auch wieder ausgeben kann. Wichtig ist hierbei, dass jedes Modul geschlossen für sich existiert und entsprechend seine Meldungen zuordenbar absetzt. Dabei muss nur der Aufruf erfolgen. ein entsprechendes Anzeigemodul kann ohne Kenntnis oder Abhängigkeit der Anderen Modulen das komplette Debugging rausziehen und weiter verarbeiten.

    Das ist ein wichtiger Bestandteil eines flexiblen CMS an welchem ich schreibe, welches hauptsächlich für Administrative Zwecke genutzt werden soll und in vielen Instanzen mit jeweils unterschiedlichen Modulen betrieben wird (Abgrenzung der Datenbestände, keine Eierlegende Wollmilchsau).
    Des Weiteren habe ich in der index.php einen kleinen Class-Loader implementiert, welcher die Klassen in den jeweiligen Versionen lädt, wie sie in der config.php definiert wurden. wichtig ist hierbei die Angabe der Versionsnummer, damit entsprechend eine Versionierung sauber vorgenommen werden kann.

    Wenn das Ding in einem arbeitsfähigen Zustand ist, kommt das auch unter die GPL. Aktuell ist es geplant, dass noch eine User-Verwaltung, Berechtigungsverwaltung und eine GUI (Ja, die kommt zum Schluss), bevor das soweit nutzbar ist, dass andere Module veröffentlicht werden können. Die Nutzer- und Berechtigungsverwaltung wird einmal lokal und mit LDAP-Funktionalität bereitgestellt.

    Übrigens kann ich dir empfehlen, das Design-Template mehr zu separieren, dass es auch leicht austauschbar ist

    Ich hoffe, ich konnte dir Anreize geben, entsprechend an deinem Projekt zu wachsen. Viel Erfolg!


    ERgänzung:
    Dafür gibt es keinen Grund. Alles unter PHP 8.1 wird nicht mehr mit Sicherheitsupdates unterstützt. https://www.php.net/supported-versions.php
    Außerdem glaube ich nicht, dass du PHP 6 getestet hast, da diese Version nicht existiert. Du meinst vermutlich PHP 7 oder PHP 5.


    Es gab eine PHP Version 6 als Draft, anders als in Wikipedia steht wurde sie nicht nicht veröffentlicht(Übersetzungsfehler aus: release-Version) sondern es wurde aufgrund zahlreicher Änderungen dazu übergegangen, diese Version zu überspringen (es gab glaube ich nur einen Release-candidate, was die Vorstufe eines Releases ist. Ich habe das damals selbst noch gesehen), weil es als Trittbrett zu OOP konzipiert wurde, dann wurde aber jedoch über das Ziel hinaus geschossen. Deswegen gab es einen immensen Kompatibilitätsbruch zwischen PHP 5.6 und dann PHP7.0. bei PHP7.0 hat man Festgestellt, dass der OOP-Ansatz noch relativ unzufriedenstellend war, weshalb man entsprechende Entwicklungen vorangetrieben hat, die uns nun schon zu 8.4 geführt haben. Ich denke mal, nachdem wir an das Ende der 8. Versionslinie kommen, wird die Entwicklung wieder gemächlicher voran gehen. Außer man will den aktuellen AI-Hype nutzen und mit aufspringen... wir werden sehen, wohin der Weg geht...


    Beitrag zuletzt geändert: 10.2.2025 18:10:24 von sebulon
  12. Also dafür, dass du bisher noch nicht in Erscheinung getreten bist hier, gleich mal was echt schönes fabriziert!

    Meinerseits nur die Anmerkung, dass die Versionierung nicht korrekt ist:

    Pre-Alpha 0.0.2 vom 4.1.25
    Pre-Alpha 0.0.1 vom 29.1.25

    Alles andere wurde ja bereits beschrieben. Aber Daumen hoch, Top Leistung :thumb:
  13. tchiarcos schrieb:
    Also dafür, dass du bisher noch nicht in Erscheinung getreten bist hier, gleich mal was echt schönes fabriziert!

    Meinerseits nur die Anmerkung, dass die Versionierung nicht korrekt ist:

    Pre-Alpha 0.0.2 vom 4.1.25
    Pre-Alpha 0.0.1 vom 29.1.25

    Alles andere wurde ja bereits beschrieben. Aber Daumen hoch, Top Leistung :thumb:


    Ja, ist mir auch aufgefallen, scheinbar hat er das Datum per Hand eingetragen und nicht den Dateiinformationen entnommen. mit filemtime() könnte er sich das sparen, entsprechend die Daten manuell einzutragen und einem dir-listing kann er die Tabelle automatisch generieren lassen.
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!