Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Framework

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP Framework

    Hallo zusammen,

    nun gelesen habe ich viel. Frameworks, CMSs, Blogs etc. gibt derzeit
    genug. Die Frage ist nun, nach welchen Kriterien man da auswählen kann.
    Sicherlich richtet sich das nach dem Einsatzzweck, aber kann ggf. im "Sumpf"
    der unzähligen Angebote etwas empfehlen, bzw. umgekehrt abraten?

    Im Prinzip benötige ich gar nicht so viel. D.h. ich brauche kein aufgeplustertes
    System. Viel mehr als eine Datenbankklasse, eine Template Klasse und
    vielleicht ein paar gute Anlagen für eine ACL benötige ich eigentlich nicht.

    Das größte Problem ist vielmehr die Doku bzw. API zum Framework. Da
    sollte es auf jeden Fall ausgedehntes Material geben und wenn es irgendwie
    möglich ist auf deutsch. Mein Englisch ist zwar nicht unbedingt schlecht, aber
    es benötigt immer zusätzlich Zeit mit englischen Erläuterungen zu arbeiten.

    Ich habe mir übrigens schon eine Menge Frameworks angesehen.
    Reicht von Zend über Horde bis prado, CodeIgniter etc. Irgendwie bin
    ich mir wirklich unsicher in welches System nun eine Einarbeitung lohnt.

    Auf jeden Fall sollten gute Anlagen enthalten sein. Ich benötige nicht immer
    alles, aber es sollte schon möglich sein, von der Groupware bis zum
    kleinen CMS eigene Umsetzungen mit dem gleichem System
    durchzuführen. Gleichzeit wäre es gut, wenn man das Ganze ausdünnen
    kann, sofern nicht gebraucht. Sicherlich geht das umständlich immer, aber
    ich denke ihr wisst schon wie ich das meine.

    Also über Empfehlungen würde ich mich freuen.
    Beste Grüße
    Tine

  • #2
    PEAR ist unglaublich vielseitig, wie du ja in der Package-Liste sehen kannst. Allerdings würde ich PEAR nicht als Framework, sondern eher als Klassensammlung sehen.

    Ich kenne sonst nur Zend und ein Bekannter schwört auf CakePHP.
    http://cakephp.org/

    Eine richtig gute Doku wirst du aber wohl in allen Fällen selten finden.

    Kommentar


    • #3
      Hallo tinchen,

      ich kann deine Bedenken und Überlegungen nachvollziehen, denn die meisten fertigen Programme (Blogs, etc.) sind für sich genommen sicher gut implementiert und auch für den bestimmten Bereich einsetzbar, nur allgemeingültig ist dabei keines. Meine Erwartung an ein "Toolset" ist daher, dass dieses eine Unterstützung für den Programmierer ist, eine Richtline, mit der man "ordentliche" Software schreiben kann. Vor allem aber soll es generisch, sprich für jeden Anwendungsfall und jede Software passend sein und für diesen Standard-Lösungen bieten. Das wiederum können nicht viele Frameworks von sich behaupten.

      Ohne hier Eigenwerbung betreiben zu wollen würde ich dir gerne das von mir zur Verfügung gestellte Framework vorstellen. Sufr einfach mal auf http://www.adventure-php-framework.org vorbei. Ich habe einige Tutorials und viele Beispiele die zeigen, wie das Framework genutzt werden kann / soll. Es bietet einen möglichst generischen Ansatz und versucht eine Basis für Entwicklungen zu sein. Auf diesem Framework wurde sowohl ein kleines CMS als auch diverse andere Frontend- und Backend-Programme implementiert. Im Kern nutzen diese jedoch immer die zentralen Funktionen desselben. Im Fall des Adventure PHP Frameworks kann ich dir auch gerne meine Unterstützung / Hilfe anbieten, wenn du Fragen zur Implementierung hast. Solltest du ein Anwendungsbeispiel auf der Seite vermissen, so meld dich einfach, dann stelle ich eines zur Verfügung.

      Ich hoffe ich konnte dir ein wenig helfen?!
      Viele Grüße,
      Dr.E.

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      1. Think about software design [B]before[/B] you start to write code!
      2. Discuss and review it together with [B]experts[/B]!
      3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
      4. Write [I][B]clean and reusable[/B][/I] software only!
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      Kommentar


      • #4
        Benutze selbst auch Zend, ist aber noch vergleichsweise jung und womöglich an How-To's und Tutorials besonders arm.
        Nicht jeder Fehler ist ein Bug.

        Kommentar


        • #5
          Hallo ihr -z-w-e-i-, drei.

          Ja mit PEAR habe ich nun erst einmal schlechte Erfahrungen gemacht. Da musste ich
          letzte Woche schon in Berlin anrufen um den Server zu resetten lassen, weil ich mir
          schön eine Schleife mit PEAR reingebaut habe, die gar nicht mehr beendet wurde.
          Natürlich hausgemacht und meine Schuld, zeigt es aber trotzdem wie mächtig und
          undurchsichtig PEAR ist. Mit Zend habe ich um ehrlich zu sein echte Probleme, da
          mir die dort angewandte Logik innerhalb des "Frameworks" nicht immer klar ist.

          cakePHP hatte ich glaube ich schon mal heruntergeladen. Das war gar nicht so schlecht,
          aber das was man sucht und findet man auch selten. Sicherlich sind viele Frameworks
          ähnlich aufgebaut und oft gibt es eine grobe Orientierung wo man was findet, aber
          derzeit finde ich es extrem aufreibend Teile selbst zu implementieren, um drei
          Wochen später festzustellen, das die Klasse XYZ über eine Methode verfügt, die
          genau das macht. Und mal ehrlich: Versteht ihr das immer, was da in den APIs in
          Kurzform steht. Also ich nicht und oft schaue ich mit die Funktion selbst noch einmal
          genau an, um zu sehen, was die Funktion nun wirklich macht. Das es dann Parameter
          auf einmal gar nicht mehr/noch nicht gibt, die in der API aufgeführt ist, sind dann so
          Erfahrungen auf die jeder wohl gut verzichten kann. Aber so sieht es auf aus,
          Dokumentation steht oft ganz hinten an.

          Das Framework von Dr.E. hat auf jeden Fall den Vorteil, dass man direkt jemanden
          "nerven" kann. Und vielleicht Dinge, die eigentlich klar sein sollten mal nachfragen
          kann. Zudem lese ich in deutsch, was doch leichter läuft als jede Zeile in englischer
          Sprache zwei mal zu lesen. Gut, etwas übertrieben, aber mich kostet es mehr Zeit.

          Ich schaue mir das alles mal genau an.

          Kommentar


          • #6
            Zitat von tinchen
            Mit Zend habe ich um ehrlich zu sein echte Probleme, da
            mir die dort angewandte Logik innerhalb des "Frameworks" nicht immer klar ist.
            Hä? Ansonsten kannste auch hier gerne nerven.
            Nicht jeder Fehler ist ein Bug.

            Kommentar


            • #7
              Also um das ZF gut nutzen zu können sollte man schon etwas Erfahrung mit PHP und vor allem mit der Theorie haben. MVC sollte klar sein sowie die Grundlagen für jeweilige Bereiche (SQL, PDF, XML etc) auch.
              Sicherlich nicht gut mit ZF einzusteigen, allerdings hat es mit die beste Zukunft, da halt Zend dahinter steht

              Reicht von Zend über Horde bis prado, CodeIgniter etc. Irgendwie bin
              ich mir wirklich unsicher in welches System nun eine Einarbeitung lohnt.
              Wow das erste mal das ich davon höre das jemand Horde versucht hat... sonst red ich immer nur davon :P
              Nein ich find Horde sehr unpraktisch, da gerade die Doku dort auch sehr mau ist.

              Kann das ZF-Forum, das KingCrunch verlinkt hat, sehr empfehlen!
              Developers-Guide.net
              Senseless

              Kommentar


              • #8
                Ich habe mich ebenfalls mit einigen Frameworks beschäftigt.

                Vieleicht suchst du ja auch etwas wie CodeIGniter, ich selbst bin von der Einfachheit überrascht
                gewesen, guck dir einfach mal die 2 Video Tutorials an.

                Der erste Knackpunkt wird sein, eine Ordentliche Benutzerauthentifikation zu entwerfen,
                dazu gibt es im Wiki bzw. im Forum aber schon Abhilfe/Anregungen.

                Die Dokumentation ist wie bei anderen Frameworks recht dünn, reicht für einen
                erfolgreichen Start aber allemal aus. Solltest du mit CodeIgniter deinen Liebling
                gefunden haben, schau dir mal Rapyd an.
                Es handelt sich dabei um eine Komponennten- und Klassensammlung, die recht
                gut zeigt, wie man CodeIgniter erweitern kann.

                An alle anderen hier, besonders Christian S. und Thomas M., möchte ich meinen
                Dank ausrichten. Durch euch habe ich erst Begriffen, welchen Vorteil ein Framework
                eigentlich mit sich bringt. Auch bei der Planung von Projekten nehme ich mir
                jetzt - zwingend - mehr Zeit. Abhängikeiten ordentlich darzustellen ist wirklich
                wichtig.
                CodeIgniter nimmt es mit der 3-Schicht Architektur nicht ganz so streng, ist
                aber ein klasse Framework, das mir viel Zeit erspart.

                CI besitzt übrigens - anders als man es vom Video Tutorial erwarten
                könnte - eine (erweiterbare) Template-Engine und einen speziellen
                Parameter in der Konfiguration.
                $config['rewrite_short_tags'] = TRUE; ermöglicht
                Short-Tags auch ohne die nötige Einstellungen in der php.ini.
                Entzückt war ich übrigens über den Vergleich von PHP- und Pseudo-Code in
                einem Template, aber das ist Geschmackssache.
                (Unter der Überschrift CodeIgniter Does Not Require a Template Engine)

                "Entdeckt" habe ich es nur durch einen lustigen Zufall. Nachdem mich CakePHP
                zunächst sehr überzeugt hat, habe ich mir mehr Material externer Quellen durchgelesen.
                Auf einer dieser Seiten, übrigens vom einem der Doku-Autoren, gab es
                einen Artikel der versucht, CakePHP mit anderen Frameworks zu vergleichen.
                Da war auch die Rede von CI. Ich bin dem Link einfach mal gefolgt
                und siehe da, das - für mich - perfekte Framework gefunden.

                Mich würde nun noch interessieren, ob einer von euch, nachdem er mal einen
                Kritischen Blick darüber geworfen hat, "Mängel" bzw. Sicherheitsrisiken festgestellt
                hat. Ich habe mir z.B. die Segment-Funktion mal genauer angesehen, da sie auch
                im Tutorial verwendet wird.
                Ich konnte keinen Code einschleusen. Wer sich ganz sicher sein möchte, dass
                keine XSS Angriffe per POST, GET oder Cookie's durchgeführt werden können,
                kann in der Konfiguration$config['global_xss_filtering'] = TRUE; setzen.
                [FONT="Book Antiqua"][I]"Nobody is as smart as everybody" - Kevin Kelly[/I]
                — The best things in life aren't things[/FONT]

                Kommentar


                • #9
                  Zitat von tinchen
                  Hallo ihr -z-w-e-i-, drei.

                  Ja mit PEAR habe ich nun erst einmal schlechte Erfahrungen gemacht.
                  Warum eigentlich? Ich finde gerade PEAR sehr gut, weil mir hier keine Ordner oder Anwendungs-Logik aufgebrumt wird und ich wirklich nur die Dateien einbinden muss, die ich benötige.
                  Der Nachteil ist eben, dass manche Projekte nicht weitergeführt werden und/oder nur im Alpha/Beta-Status verfügbar sind, aber alle haben sie ihre PHPDoc, die gleiche Namenssyntax.
                  Dass die meisten Projekte in PHP4 geschrieben sind stört mich überhaupt nicht, im Gegenteil.

                  Kommentar


                  • #10
                    Zitat von phpdummi
                    "Entdeckt" habe ich es nur durch einen lustigen Zufall. Nachdem mich CakePHP
                    zunächst sehr überzeugt hat, habe ich mir mehr Material externer Quellen durchgelesen.
                    Auf einer dieser Seiten, übrigens vom einem der Doku-Autoren, gab es
                    einen Artikel der versucht, CakePHP mit anderen Frameworks zu vergleichen.
                    Da war auch die Rede von CI. Ich bin dem Link einfach mal gefolgt
                    und siehe da, das - für mich - perfekte Framework gefunden.
                    Kannst du evtl. mal kurz zusammenfassen, was CodeIgniter besser macht, bzw. was dir daran besser gefällt als an CakePHP?
                    [URL="https://www.quizshow.io/"]Create your own quiz show.[/URL]

                    Kommentar


                    • #11
                      Zend finde ich einfach klasse!
                      Es gibt tutorials, die gründgerüst schnell aufbauen lässt und eine sehr gute classen-bibliothek die in vergleich zum PEAR nicht nur besser dokummentiert ist, sondern auch viel besser in performance ist.
                      Aufgrund, dass Zend auch zufällige weise sehr viele technologieen für PHP liefert, sehe ich auch gute Zukunft für diesen Framework.
                      Slava
                      http://bituniverse.com

                      Kommentar


                      • #12
                        Vom Grundprinzip her ist CodeIgniter noch "einfacher" zu bedienen, d.h. man bekommt
                        schneller und einfacher die ersten Inhalte da rein. Der große Nachteil liegt darin, dass
                        einem so viel abgenommen wird, dass man in Probleme kommt - zumindest ich - wenn
                        es nicht bei den Standardanwendungen bleibt. Das "nervt" bei cakePHP auch. Super, dass
                        es da automatische Datenbankabfragen etc. bezogen auf die Controllerklassen etc.
                        gibt, aber dadurch verliert man insbesondere wenn man da noch nicht so drin ist die
                        Kontrolle über das, was da passiert. Zudem ist es sehr aufwendig nachzuvollziehen
                        wie das nun genau funktioniert. Ich muss da feststellen, dass es mich sehr nervös
                        macht einfach etwas zu nutzen, ein Ergebnis zu haben ohne dass ich verstanden habe
                        wie das genau funktioniert, auch wenn die Logik dabei klar ist. Das reicht
                        von sicherheitstechnischen Bedenken bis hin zur Frage, ob ich da nun nicht doch ein
                        Ergebnis habe, dass ich eigentlich gar nicht möchte.

                        Also eins habe ich jetzt schon festgestellt. Wenn man sich erst einmal in ein FW
                        eingearbeitet hat, ist die Umstellung auf ein anderes System wahnsinnig
                        nervenaufreibend. Ein richtig scheint es da auch nicht zu geben, vieles ist
                        Geschmacksache.

                        Wenn man cakePHP und CI mit Zend vergleichen wollte, dann fällt mir das etwas
                        schwer, da ich da ganz andere Ansätze sehe. Auch wenn man nahezu immer das
                        gleiche Endergebnis mit den FWs erzielen kann, unterscheiden sie sich schon sehr.
                        Während cake und IG schon die gesamte Logik vorgeben, muss man sie in Zend
                        zum Großteil erschaffen. Das ist natürlich aufwendiger, aber man weiß zumindest
                        was man da nutzt und wie das funktioniert.

                        Somit ist es vielleicht gar nicht so schlecht eine Klassensammlung zu nutzen, die
                        man nach Bedarf einbindet und damit genau vorgeben kann, was und wie man etwas
                        nutzt.

                        Grüße
                        Tine

                        Kommentar


                        • #13
                          Zitat von Agrajag
                          Kannst du evtl. mal kurz zusammenfassen, was CodeIgniter besser macht, bzw. was dir daran besser gefällt als an CakePHP?
                          Diesbezüglich muss auf jedenfall von gefallen die Rede sein.
                          Ich finde CI einfach intuitiver, beim ersten Anblick kam es mir wie ein leicht veränderter
                          Abklatsch von CakePHP vor, dem ist - teilweise - vieleicht auch so, dennoch gefällt
                          mir das "Konzept" zur Seiten-/Anwendungserstellung besser.
                          Ich gehe also davon aus, dass du CakePHP verwendest, und meine Beweggründe
                          für die Nutzung von CodeIgniter erfahren möchtest. Ich selber habe mit
                          CakePHP über das Blog-Tutorial und einigem Lesen des Manuals hinaus, nichts
                          mit CakePHP gemacht. Ich beziehe mich im folgendem also auf das Blog-Tutorial.
                          CakePHP (CP)
                          CodeIgniter (CI)

                          Zunächst einmal zur "Aufbereitung" der Tutorials für den Anwender:
                          CP hat dieses Tutorial ins Manual integriert - warum auch immer. Daher müssen
                          sie zwangsweise den über Text die Entwicklung der Anwendung zu beschreiben.
                          CI dagegen wählt den Weg, das Tutorial getrennt vom Manual zu präsentieren.
                          Auf den ersten Blick kam mir das Video wie Effekt-Hascherei vor, ein Tutorial
                          im Bereich PHP als Video vorgesetzt zu bekommen, war für mich eine neu Erfahrung.
                          Im Nachhinein lässt sich aber ein prägnanter Lernunterschied feststellen:
                          Bei CP liest man sich das Tut von Oben nach unten durch, lange Erläuterungen
                          nagen, soweit es mich betrifft, erheblich an der Konzentration.
                          Im CI Tut verfolgt man die einzelnen Schritte, man sieht wirklich alles, was der
                          Andere einem da vor macht. Also wo, welche Dateien geändert/angelegt werden.
                          Der Erzähler hat die Möglichkeit genauer zu erklären was er da nun macht.

                          Nun zur eigentlichen Erstellung einer Anwendung.
                          Bei CP muss man erst einmal ein Model erstellen, danach wird ein Controller
                          und ein View erstellt. Variablen werden der View-Schicht per set() zur Verfügung
                          gestellt.
                          Ganz nebenbei gefällt mir an dieser Stelle weder die Endung ".thtml" für Templates,
                          noch verstehe ich nicht, woher $this->Post->id = $id; jetzt die ID herzaubert.

                          Bei CI erstelle ich einen Controller für meine Anwendung, danach einen View, fertig.
                          Datenbanken kann man übrigens, anders als im Tutorial beschrieben, direkt
                          im Controller selektieren.

                          Während CP Methoden wie Post->save($this->data['Post']) aufruft, verwendet
                          CI die insert Methode des Datenbank-Objektes ($this->db->insert('comments', $_POST);).
                          Um mir anzusehen wie diese Methode funktioniert oder sie ggf. abzuändern,
                          müsste ich in diesem Fall die Datei "system/database/DB_active_rec.php"
                          einsehen/ändern. Der Code ist für mich selbstverständlicher.
                          Das im Video nicht auf die Validierung der Elemte eingegangen wird ist schade,
                          die Validation-Class ist für mich ebenfalls intuitiver bzw. logischer.

                          Zusammenfassend würde ich also sagen, dass CI tatsächlich "einfacher" in der
                          Anwendung ist. Anpassungen und Erweiterungen gestalten sich besonders für
                          Anfänger wie mich als besonders einfach. Der gesammte Code ist sehr semantisch
                          und mit vielen (längeren) Kommentaren gespickt, die die Einarbeitung erheblich
                          erleichtern.

                          Ich habe eben kein full-featured Framework gesucht, dass in beinahe volkommener
                          Art und Weise MVC einhält, sondern ein einfaches Grundgerüst, dass mir bei
                          der Erstellung einfacher Anwendungen hilft.
                          CodeIgniter ist für mich ein solcher Helfer, der mir nebenbei viel Zeit ersparrt.
                          Die notwendigen Schritte zur Erstellung einer Anwendung sind schnell getan,
                          je mehr man versucht, desto mehr profitiert man von diesem Framework.
                          Mir würde es natürlich helfen, wen du mir eine speziefische Frage stellst, da
                          ich mich gerade noch in dieses Framework einarbeite (vor 1 Woche angefangen).

                          Zitat von tinchen
                          Der große Nachteil liegt darin, dass
                          einem so viel abgenommen wird, dass man in Probleme kommt - zumindest ich - wenn
                          es nicht bei den Standardanwendungen bleibt. Das "nervt" bei cakePHP auch. Super, dass
                          es da automatische Datenbankabfragen etc. bezogen auf die Controllerklassen etc.
                          gibt, aber dadurch verliert man insbesondere wenn man da noch nicht so drin ist die
                          Kontrolle über das, was da passiert. Zudem ist es sehr aufwendig nachzuvollziehen
                          wie das nun genau funktioniert. Ich muss da feststellen, dass es mich sehr nervös
                          macht einfach etwas zu nutzen, ein Ergebnis zu haben ohne dass ich verstanden habe
                          wie das genau funktioniert, auch wenn die Logik dabei klar ist. Das reicht
                          von sicherheitstechnischen Bedenken bis hin zur Frage, ob ich da nun nicht doch ein
                          Ergebnis habe, dass ich eigentlich gar nicht möchte.
                          Kann ich nicht so ganz nachvollziehen.
                          CodeIgniter ist wirklich super Dokumentiert, guck dir doch einfach mal
                          den Code an.
                          user_guide/general/libraries.html (extra kein Link :wink
                          Dieser winzige Artikel erklärt dir wo die Einzelnen Libraries liegen.
                          Die FTP Klasse z.B. ist für meine Verständnisse (im Code) super erklärt.
                          Die Funktionen sind ordentlich eingerückt und nicht wesentlich anders programmiert,
                          wie ich es auch selber tun würde.
                          Darüber hinaus zwingt dich niemand Anstelle von
                          PHP-Code:
                          <?php
                          $this
                          ->db->where('foo_id'$this->uri->segment(3);
                          $foo['query'] = $this->db->get('foos');
                          ?>
                          einfach
                          PHP-Code:
                          <?php
                          $query 
                          $this->db->query("SELECT foo FROM foos WHERE foo_id='".$this->uri->segment(3'')."' LIMIT 1");
                          foreach (
                          $query->result() as $row)
                          {
                              
                          $result['foo'] = $row->name;
                              
                          /* Evt. mehrere Felder */
                          }        
                          ?>
                          zu schreiben.
                          Deine Problebeschreibung ist mir nicht unbekannt, ganz im Gegenteil,
                          das gleiche Gefühl hatte ich bei anderen Frameworks ebend auch,
                          bei CI aber wiederum nicht

                          Beschreib doch mal genau, was dir gerade am meisten Kopfzerbrechen bereitet,
                          vieleicht kann ich Abhilfe schaffen.
                          [FONT="Book Antiqua"][I]"Nobody is as smart as everybody" - Kevin Kelly[/I]
                          — The best things in life aren't things[/FONT]

                          Kommentar


                          • #14
                            Ich hatte eher von CakePHP gesprochen, da hantiere ich seit einer Woche rum.
                            Insbesondere gibt es da diese "zauber" DB Abfragen, die über unter
                            anderem über die Model-/Controllerklasse etc. laufen. So muss man
                            ständig Beziehungen zwischen dem Datenbanklayout und diesen Klassen haben.
                            Macht eigentlich auch Sinn, aber gewöhnungsbedürftig ist es allemal.

                            Diese MVC-Logik macht mir auch immer noch Probleme. Viele Dinge sind mir da einfach
                            noch nicht klar, weil ich eher aus der CMS Ecke komme, wo das so nie war.

                            Das was du mit "abändern" beschreibst kommt für mich nicht in Frage, nicht weil ich es
                            nicht könnte, sondern weil ich versuche alles von außen einzubinden und nicht das FW
                            umzuschreiben. Auch da gibt es ja Updates etc., da macht ein Eingriff in die
                            Substanz für mich keinen Sinn.

                            Derzeit rege ich mich über CakePHP ein wenig auf, weil ich es entweder nicht kann
                            oder es wirklich nicht vorgesehen ist, so etwas zu machen. Ich möchte ein Schnitt-
                            stelle aus dem Controller heraus auf das Grund-Layout (default.thtml), so dass
                            ich metatags etc. anhängen, setzen etc. kann. Das scheint aber aufgrund der
                            Logik nicht zu gehen oder so nicht vorgesehen zu sein. Klar kann man das als
                            Variable mit set setzen, aber das ist doch völlig unsinnig. Alternativ bliebe
                            im jeweiligen Model ein anderes Template festzulegen, was ja wohl noch unsinniger
                            sein dürfte. Also entweder habe ich was nicht verstanden oder ich drehe mich mit
                            meinen Helper im Kreis.

                            Als Beispiel im CI:
                            Hast du dir auch genau angesehen, ob $this->uri->segment(3, '') auch jegliche
                            Injektions etc. filtert. Sollte man erwarten und ggf. entsprechend filtern
                            und validieren, aber das sind alles Dinge, die man sich während der Arbeit mit dem
                            entsprechenden System mühsam erarbeiten muss. Gerade bei Tutotials wird oft
                            mehr auf darauf geachtet, dass es gerade so läuft und vieles drum herum
                            vernachlässig. Da empfinde ich es als sehr müßig mir jede Methode noch einmal
                            rauszusuchen und entsprechend genau zu studieren was da passiert. Wohl möglich
                            kommt man aber nicht drum herum, wenn man neu in diesem Geschäft ist.

                            Kommentar


                            • #15
                              Zitat von phpdummi
                              Ich habe mir z.B. die Segment-Funktion mal genauer angesehen, da sie auch
                              im Tutorial verwendet wird.
                              Ich konnte keinen Code einschleusen. Wer sich ganz sicher sein möchte, dass
                              keine XSS Angriffe per POST, GET oder Cookie's durchgeführt werden können,
                              kann in der Konfiguration$config['global_xss_filtering'] = TRUE; setzen.
                              Das was du mit "abändern" beschreibst kommt für mich nicht in Frage, nicht weil ich es
                              nicht könnte, sondern weil ich versuche alles von außen einzubinden und nicht das FW
                              umzuschreiben. Auch da gibt es ja Updates etc., da macht ein Eingriff in die
                              Substanz für mich keinen Sinn.
                              Abändern wäre auch Falsch, da habe ich mich falsch ausgedrückt.
                              Generell sieht es CI ja so vor, dass man bestehende Klassen erweitert,
                              selbst eine Änderung einer Funktion sollte nach dem Schema "x extends y"
                              und darauf folgend einer Funktions-Überschreibung ablaufen.
                              Ich möchte ein Schnitt-
                              stelle aus dem Controller heraus auf das Grund-Layout (default.thtml), so dass
                              ich metatags etc. anhängen, setzen etc. kann. Das scheint aber aufgrund der
                              Logik nicht zu gehen oder so nicht vorgesehen zu sein. Klar kann man das als
                              Variable mit set setzen, aber das ist doch völlig unsinnig.
                              So wie ich es verstanden habe, möchtest du ein Grundlayout von <html> bis
                              </title>. Danach werden ja die Metatags angeführt. Da ich mal davon ausgehe,
                              dass die Metatags in einem Backend an den Artikel angehängt werden,
                              erscheint es mit nicht als unsinnig diese aus der DB abzurufen und dann ins
                              Template einzuspeisen.
                              in CI würde das dann etwa so aussehen (ungetestet):
                              controller/page.php:
                              PHP-Code:
                              <?php
                              class Page extends Controller {

                                  function 
                              Page()
                                  {
                                      
                              parent::Controller();
                                      
                              // Basics
                                      #$this->load->scaffolding('table');
                                      
                              $this->load->helper('url');
                                      
                              $this->load->helper('form');
                                  }

                                  function 
                              index()
                                  {
                                      
                              $data['title'] = 'Seitentitel';        
                                      
                              $data['query'] = query("SELECT name,content FROM meta_information WHERE page_id='".$this->uri->segment(3'')."'"); 
                                      
                                      
                              $this->load->view('page_view'$data);
                                  }
                              ?>
                              view/page_view.html:
                              PHP-Code:
                              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                              <html xmlns="http://www.w3.org/1999/xhtml">
                              <head>
                              <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                              <title>[<?=$title ?>]</title>

                              <?php foreach($query->result() as $row): ?>

                              <meta name="<?=$row->name?>" content="<?=$row->content?>" />

                              <?php endforeach; ?>

                              </head>

                              <body>
                              [..]
                              </body>
                              </html>
                              aber das sind alles Dinge, die man sich während der Arbeit mit dem
                              entsprechenden System mühsam erarbeiten muss.
                              Ich finde mich in der CI Doku auch nicht sofort zurecht.
                              Es gibt aber auch noch ein Wiki mit Beispielen und Kompletten "Tutorials".
                              Im Forum sind auch viele Fragen schon ausgiebig beantwortet worden.
                              [FONT="Book Antiqua"][I]"Nobody is as smart as everybody" - Kevin Kelly[/I]
                              — The best things in life aren't things[/FONT]

                              Kommentar

                              Lädt...
                              X