cSphere - Focused on productivity
Entwicklung
|
14.05.2012 um 22:25 Uhr - hajo
Kommentare (4)
|
English There are many Frameworks, Toolkits and CMS for PHP that are OpenSource or at least free of charge for many use cases. So why is cSphere reinventing the wheel? We don't think that we can do everything better or add some more eye candy. We even don't want to get an award for the cleanest software architecture that creates workarounds for the PHP way to make it look more like e.g. Java. cSphere is focused on productivity. We believe that this goal can only be reached by serving high quality software with simple and straight forward features. With only small effort PHP's on-board functionalities are easy to learn, use and extend for special cases. There is no low-level configuration - e.g. for dependencies - or other stuff to worry about. Just activate the service drivers and get the plugins that you like and maybe create your own ones. Convention and automation cares about the rest. The appended Screenshot shows our Debug Mode in Version 0.1 (internal March Milestone). At that time our framework was about 5000 LOC (lines of code) and is now over 7500 LOC while still growing. German Es gibt viele Frameworks, Toolkits und CMS für PHP die OpenSource oder zumindest für viele Nutzungsszenarien kostenfrei sind. Warum also versucht cSphere das Rad neu zu erfinden? Wir denken nicht, dass wir alles besser machen oder mehr Blickfänge hinzufügen können. Wir wollen auch keine Auszeichnung für die sauberste Software Architektur bekommen, die um den PHP-Weg herum arbeitet, um es z.B. mehr wie Java aussehen zu lassen. cSphere ist auf Produktivität fokussiert. Wir denken, dass dieses Ziel nur mit hoch qualitativer Software bei simpel und gradlinig gestalteten Features erreichbar ist. Schon mit geringem Aufwand sind die von PHP mitgelieferten Funktionalitäten einfach zu lernen, verwenden und für Spezialfälle zu erweitern. Es gibt keine Konfiguration von niedrigen Ebenen oder anderen Kram, über den man sich Sorgen machen muss. Einfach die Service Treiber der Wahl aktivieren, die gewünschten Plugins beziehen und evtl. eigene erstellen. Konventionen und Automatismen kümmern sich um den Rest. Die angehängte Bildschirmaufnahme zeigt den Debug Modus in Version 0.1 (interner März Meilenstein). Zu dem Zeitpunkt bestand das Framework aus 5000 LOC (Code-Zeilen) und ist inzwischen bei über 7500 LOC und wächst noch immer. |
PHP 5.4.3 and 5.3.13
Serversoftware
|
08.05.2012 um 21:17 Uhr - hajo
Kommentare (0)
|
English There is a new PHP version for 5.4 and 5.3 in town with additional security fixes. A few days ago the PHP team already released new versions to fix a security flaw, but it was foreseeable that it doesn't solve the whole problem. German Es sind neue Versionen von PHP 5.4 und 5.3 mit zusätzlichen Sicherheits-Fixes erschienen. Bereits ein paar Tage zuvor hat das PHP Team neue Versionen aufgrund eines Sicherheitsproblems veröffentlicht, wobei allerdings absehbar war, dass die Lösung noch nicht endgültig ist. Changelog 5.4.3 and 5.4.2 Fixed bug #61807 Buffer Overflow in apache_request_headers, CVE-2012-2329.
Fixed bug #61910 Improve fix for PHP-CGI query string parameter vulnerability, CVE-2012-2311. Fixed bug #61910 Fix PHP-CGI query string parameter vulnerability, CVE-2012-1823. |
cSphere - Technical upgrades for developers
Entwicklung
|
07.05.2012 um 19:29 Uhr - hajo
Kommentare (5)
|
English We've already announced that cSphere will require PHP 5.3.3 while it makes heavy use of namespaces and the most current OOP implementation in PHP to be ready for the future. These changes allowed us to improve the internal structure alot. With nearly no duplicated code and a well planned API to interact with we ware also able to sort off the verbosity of PHP. There is no more need to "echo", "print" or even "eval" something which makes output more reliable and secure. The framework is mainly closed to changes since its goal is just to power the CMS part and make plugins easy to write and use. Plugins are your way to add functionality for whatever you want. On the other side the framework is opened for extension using so called "providers". They can e.g. add support for a new caching mode like Redis or bind a mail library like PEAR DB. The most basic and important drivers will always be shipped with the framework. Overall the cSphere CMS is build up for its Plugin Manager and Store to get, update and use whatever you need. We plan to provide developers with examples and tutorials for cSphere and PHP itself and we use and prefer the PEAR Coding Standard for a higher source code quality. Some first impressions may follow next week with screenshots of the enhanced debug mode and toolbar. German Wir haben bereits angekündigt, dass cSphere PHP 5.3.3 voraussetzen wird, da es sehr viel Gebrauch von Namensräumen macht und die aktuellste OOP Implementation von PHP verwendet um zukunftssicher zu sein. Diese Änderungen erlauben es uns die interne Struktur erheblich zu verbessern. Mit nahezu keinem duplizierten Quelltext und einer durchdacht geplanten API zur Interaktion konnten wir zudem die Geschwätzigkeit von PHP abstellen. Man benötigt die Kommandos "echo" und "print" nicht mehr, selbst "eval" wird nicht mehr verwendet, wodurch die Ausgaben zuverlässiger und sicherer werden. Das Framework ist gegen Änderungen geschlossen, da es als oberstes Ziel hat lediglich das CMS anzutreiben und die Plugins einfach schreib- und nutzbar zu machen. Diese Plugins sind euer Weg, um neue Funktionalität zu ergänzen. Auf der anderen Seite ist das Framework für Erweiterungen offen und kann über sogannte "Provider" ergänzt werden. Diese können z.B. einen neuen Caching-Modus wie Redis oder eine Email-Bibliothek wie PEAR DB anbinden. Die grundlegenden und wichtigen Treiber wird das Framework dabei selbst mit bringen. Insgesamt ist das CMS für seinen Plugin Manager und Store optimiert, über den man Beziehen, Aktualisieren und Nutzen kann, was man gerade benötigt. Wir planen eine Versorgung der Entwickler mit Tutorials und Beispielen zu cSphere und PHP im Allgemeinen. Zudem verwenden und bevorzugen wir den PEAR Coding Standard für eine hohe Quelltext Qualität. Erste Eindrücke folgen voraussichtlich in der folgenden Woche mit ersten Screenshots vom verbesserten Debug Modus und der Debug Toolbar. |
cSphere - A notice is an error is an exception
Entwicklung
|
30.04.2012 um 08:00 Uhr - hajo
Kommentare (2)
|
English Remember how ClanSphere handles errors? They are just logged and maybe also shown if the debug mode is activated. To terminate execution you have to manually kill the script with a die() command or alike. Execution continuous als long as no fatal error occurs. cSphere comes with big changes regarding error handling in PHP. At first it makes use of exceptions, which allow to try something and catch problems to decide what's going to happen. Errors are handled like exceptions, but they can't be catched. So even the tiniest notice error will halt further execution. Problems should be fixed and not ignored as they can lead to further errors - independent of their severity. The debug mode in cSphere is more of a developer mode and better separated from the production mode compared to ClanSphere. It allows for error and exception backtraces, more details when problems occur and overall a better overview of the situation. You can even get informed by email about errors if you want to. German Erinnerungen daran vorhanden, wie ClanSphere Fehler behandelt? DIese werden einfach nur gespeichert und eventuell noch im Debug Modus angezeigt falls dieser aktiv ist. Um die weitere Ausführung anzuhalten musste man das Script manuell mit einem die() Kommando abbrechen oder Ähnlichem. So lange kein fataler Fehler aufgetreten ist läuft alles weiter. cSphere bringt im Bereich Fehlerbehandlung in PHP große Änderungen. Zuerst einmal nutzt es Ausnahmen (Exceptions), die es erlauben etwas zu probieren und aufgetretene Fehler abzufangen und zu behandeln. Fehler (Errors) werden wie Ausnahmen behandelt, können aber nicht abgefangen werden. Selbst der kleinste Fehler stoppt daher die weitere Ausführung. Probleme sollten beseitigt und nicht ignoriert werden, weil dadurch andere Probleme entstehen könnten - unabhängig vom Schweregrad der Fehler. Der Debug Modus in cSphere ist weiter zum Entwickler Modus ausgereift und trennt sich im Vergleich zu ClanSphere besser vom Produktions Modus ab. Er erlaubt das Zurückverfolgen von Fehlern und Ausnahmen, bietet mehr Details im Problemfall an und allgemein eine bessere Übersicht zur jeweiligen Situation. Wer möchte kann sich sogar per E-Mail über Fehler informieren lassen. |
cSphere - Enhanced API and Quality
Entwicklung
|
23.04.2012 um 20:51 Uhr - hajo
Kommentare (0)
|
English If you've ever seen our API documentation for ClanSphere: It just contained the function names, parameters and file names where the function belongs to. Function names used different prefixes and nearly no one knows about the tasks a function was designed for. With cSphere this all will change. The API is documented very well, functions are grouped using classes and classes are always inserted to a namespace that makes the most sense for them. Most classes are also designed to be used in an object oriented way. We've also worked on the source code itself and follow rules to reduce complexity, better readability and easier maintenance. Less duplicated code and more support for plugin developments round up the whole thing. German Wenn Ihr jemals unsere API Dokumentation für ClanSphere gesehen haben solltet: Diese enthält lediglich die Namen der Funktionen und Parameter, sowie die dazu passenden Dateinamen. Funktionen haben dabei unterschiedliche Prefixe und beinahe niemand weiß, welche Funktion für welche Aufgaben erstellt worden ist. Mit cSphere wird sich das ändern. Die API ist sehr ausführlich dokumentiert, Funktionen sind nun gruppenweise in Klassen sortiert und diese immer in einem passenden Namensraum, der am meisten Sinn macht, einsortiert. Die meisten Klassen sind zudem für den objektorientierten Gebrauch verwendbar. Wir haben ebenfalls am Quellcode selbst gearbeitet und dabei Regeln, wie z.B. das Reduzieren von Komplexität, bessere Lesbarkeit und leichtere Wartbarkeit, beachtet. Dies wird zudem noch durch weniger duplizierten Quelltext und mehr Unterstützung für die Entwicklung neuer Plugins abgerundet. |