BrickOO :: PHP Framework



  • Hallo,

    Wir, 2 lustige Mitdreissiger arbeiten seit einer Weile an einem multifunktionalem PHP-Framework names BrickOO das auf einer GNU Lizenz basiert.
    Das Framework ist komplett objektorientiert aufgebaut.

    Auf die Frage was BrickOO so besonders macht würde ich gerne vorweg eingehen.

    BrickOO hat eine sehr einfache Kern-Strukur, bietet jedoch eine hoch dynamische Art mit Objekten und Instanzen umzugehen. Wir unterscheiden da sehr strikt.
    Zur Zeit beinhaltet das Framework nur Grundfunktionalität wie Datei-Handling und Object-Management die das Framework ebenfalls benötigt.

    Als Grundfeature des Frameworks würden wir das automatische Erstellen der Objekte oder Instanzen nennen. Damit ist nicht das Ersetzen des "new" Operators gemeint sondern das Erstellen von dynamischen Objekt-Bäumen.
    Dies ist durch einen Decorator möglich, der durch einfache Deklarationen einen grossen Vorteil bringt. So ist es möglich mehrere Objekte oder Instanzen miteinander zu verketten und alle Aufrufe eines Objektes im Baum über ein Objekt / Instanz zu verwalten.

    Das Framework wird nahezu ununterbrochen erweitert und verbessert.
    Nebenbei arbeiten wir mithilfe des Frameworks ein CMS.

    Das Framework bestitz nun mittlerweile einen Status der es uns erlaubt es der Öffentlichkeit vorzustellen.
    Ein Download des Frameworks ist auf unserer Sourceforge-Seite möglich.

    https://sourceforge.net/projects/brickoo/

    Eine deutsche Dokumentation liegt ebenfalls als Download bereit.

    Wir würden gerne über eure Erfahrung mit dem Framework hören, um die Entwicklung zum Besten vorran zu treiben.

    Was uns noch sehr am Herzen liegt wäre ein toller Designer der im Bereich XHTML, CSS tolle Themes bauen kann die ein validen Status haben.
    Wenn jemand Interesse hat bitte bei uns melden !

    MfG

    Hroudtwolf



  • Hallo,

    Auch eine englische Doku und ein paar Screenshots liegen auf Sourceforge bereit.
    Zudem wurden im Framework mittlerweile ein paar Bugs gefixt.
    http://sourceforge.net/projects/brickoo/

    MfG

    Hroudtwolf



  • Hroudtwolf schrieb:

    ... eine hoch dynamische Art mit Objekten und Instanzen umzugehen. Wir unterscheiden da sehr strikt.

    Echt? Was ist denn der Unterschied zwischen Objekten und Instanzen?



  • Wir unterscheiden hier hauptsächlich bedingt fürs Framework.
    Die Trennung hat Performancegründe.

    Auszug aus der Doku.

    Objekte unter BrickOO existieren für sich und verbrauchen dadurch mehr Speicher als Instanzen. Auch das Beziehen von gleichen Objekten hat höhere Performance- Kosten, als eine Instanz.

    MfG

    Wolf



  • removed



  • Bisher kannte ich "Instanz" nur als falsche deutsche Übersetzung des englischen "instance" für Objekt.
    Objekte kann ich doch auch direkt durch die Sprache erzeugen, also z.B. $object = new Object(). Was bringt das Framework für die Objekterzeugung, und wieso bekommen Objekte Zufallsnamen? Steckt da eine eingebaute Persistenzschicht dahinter?



  • Euer Framework muss ja furchtbar problemorientiert sein, wenn ihr schon etablierte Begriffe wie "Objektinstanz" aufbröseln und umdefinieren müsst. Schaut euch das Zend Framework an, das ist wirklich effizient, sauber objektorientiert implementiert und praxisnah.
    Als PHP Entwickler brauche ich Klassen für ACLs, Datenzugriff, Konfiguration, Validierung etc., und nicht irgendein Speicher-Blabla.



  • Hättest du es dir angeschaut anstatt unsere Posts zu interpretieren wüsstest du es natürlich besser.
    Aufbröseln müssen wir nichts. Die getrennten Definitionen sind der Fachwelt längst bekannt, was ein Besuch auf Google bestätigen sollte.



  • Hroudtwolf schrieb:

    Hättest du es dir angeschaut anstatt unsere Posts zu interpretieren wüsstest du es natürlich besser.
    Aufbröseln müssen wir nichts. Die getrennten Definitionen sind der Fachwelt längst bekannt, was ein Besuch auf Google bestätigen sollte.

    Also beim Googlen nach "Trennung Objekt Instanz" hab ich nichts gefunden (bis auf ein Forumseintrag zu brickoo). Vielleicht kannst du uns einen konkreten Link geben.

    Die Fachwelt sagt aber folgendes:

    Heide Balzert schrieb:

    Die Begriffe instance, class instance und Exemplar werden synonym
    für den Begriff Objekt gebraucht. Der Begriff »Instanz«, der
    in der deutschen Literatur häufig verwendet wird, ist ein Anglizismus,
    der auf einer fehlerhaften Übersetzung von instance beruht.

    Aus H. Balzert, Lehrbuch der Objektmodellierung, Spektrum Akademischer Verlag 1999, S. 21



  • In der Fachwelt bekannt?
    Deshalb musst du hier die Definitionen für eure Objekte und Instanzen auch breit treten. Meine Kritik galt nur der Tatsache, dass ein Webframework meiner Meinung sich möglichst auf bewährte und vorhandene Sprachkonstrukte stützen sollte. Um Objekte anzulegen existiert der new-Operator. Ein Framework hat da m.E. nichts verloren. Bisher habe ich noch keine Funktionalität gehört, welche mir dabei hilft, eine konkrete Anwendung zu implementieren. Performance erreiche ich eher durch das Caching d. Präsentationsschicht oder von Resultsets, nicht durch das Einsparen von 0,01 Millisekunden bei der Objekterstellung.

    Hier noch ein nicht ganz ernstgemeinter Kommentar, der aber einen wahren Kern enthält, und über den du dich vermutlich aufregen wirst: Entferne den PureBasic-Link aus deiner Signatur, dann nehm ich dich vielleicht eher ernst. Das Problem ist einfach, dass PureBasic total proprietärer, schlecht designter Quatsch ist, und man vermutlich selbst Quatsch entwerfen wird, wenn man den PureBasic-Quatsch gut findet.



  • Hier noch ein nicht ganz ernstgemeinter Kommentar, der aber einen wahren Kern enthält, und über den du dich vermutlich aufregen wirst: Entferne den PureBasic-Link aus deiner Signatur, dann nehm ich dich vielleicht eher ernst. Das Problem ist einfach, dass PureBasic total proprietärer, schlecht designter Quatsch ist, und man vermutlich selbst Quatsch entwerfen wird, wenn man den PureBasic-Quatsch gut findet.

    Sorry. Aber wie alt bist du denn?
    Oder sollte ich mir die Frage gleich sparen und feststellen dass dies ein total inkompetenter und unqualifizierter Kommentar deinerseits ist?

    Jedenfalls klingt das wirklich nicht sehr intelligent.

    Du musst auch nicht auf Angriffsmodus gehen wenn dir nicht recht geben mag.

    MfG

    Hroudtwolf



  • Ja du hast recht, war unqualifiziert. Da kam mal wieder meine Anti-Basic-Ader durch, mach dir nichts draus. Auf meine Intelligenz kannst du daraus aber nicht schließen.

    Beantworte doch liebe mal die Frage, wie sich in der Fachwelt "Objekt" und "Instanz" unterscheiden. "tfa" hat dir ja freundlicherweise ein geeignetes Zitat gepostet, dem du widersprechen kannst.



  • removed



  • Hallo,

    Kritik bitte auf einer sachlichen Ebene führen und Sprach-Flames vermeiden.
    Danke!

    @Hroudtwolf
    Ihr habt also keine konkreten Fragen, sondern möchtet euer Projekt einfach nur vorstellen bzw. seid ggf. auf der Suche nach einem Designer? Dafür ist eigentlich das Projekte-Forum gedacht. Ich verschiebe euch mal dorthin. 😉



  • Dieser Thread wurde von Moderator/in árn[y]ék aus dem Forum Webzeugs in das Forum Projekte verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Ich will mal wieder ein paar Neuigkeiten loswerden.
    In der "current" Version wurden einige Bugs gefunden und entfernt.
    Für Bug-Reports und Feature-Requests ist ein Forum eingerichtet.

    Ausserdem lass ich mal die aktuelle Features-Liste da.

    * RssHandler
    * Captcha
    * Sessionmanagement
    * Sockethandler
    * Template Engine
    * Requesthandler
    * PDO-Handler
    * Error-/Exception-Handler
    * Directoryhandler
    * Filehandler
    * INI-Handler
    * XML-Handler
    * Loghandler
    * Queue
    * Stack
    * FTP-Client
    * POP-Client
    * SMTP-Client
    * Imagehandler
    * Component-Autoloader

    MfG

    Hroudtwolf


Anmelden zum Antworten