CI User Guide | NEU: CI Wiki | Impressum | Werbung: server-ratgeber.de
Unbeantwortete Themen | Aktive Themen Aktuelle Zeit: Fr 10. Sep 2010, 20:31



Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite Vorherige  1, 2
 CI OOP 
Autor Nachricht
Benutzeravatar

Registriert: Mi 4. Nov 2009, 22:03
Beiträge: 39
Beitrag Re: CI OOP
lonestar hat geschrieben:
Wenn Ihr einer eine Möglichkeit weiß, wie man das automatisieren kann, her damit :D

Kohana verwenden ;)
Das unterstützt das Autoloading von Files perfekt, schöner gehts einfach nicht.
Da brauchst du nichts includen, PHP holt sich das File anhand des Namens selbst. Egal ob Controller, Lib oder Model.

_________________
Meine JID: sebix@jabber.ccc.de
Bild


Mi 21. Jul 2010, 18:01
Profil

Registriert: Di 29. Sep 2009, 09:06
Beiträge: 123
Beitrag Re: CI OOP
@xebi

Na ich glaube Kohana ist hier nicht gern gesehen. ;) Habe gerade ein Projekt mit Kohana umgesetzt. MUß aber ehrlich sagen, CI gefällt mir besser.

Lonestar


Mi 21. Jul 2010, 18:56
Profil E-Mail senden
Benutzeravatar

Registriert: Do 27. Aug 2009, 14:31
Beiträge: 129
Wohnort: Hamburg
Beitrag Re: CI OOP
So schlecht ist Kohana gar nicht, zumindest 2.x.
3.x habe ich mir nicht angesehen, da dort die Doku so grottig is.... :D

_________________
http://www.deniz-polat.de


Do 22. Jul 2010, 08:56
Profil E-Mail senden Website besuchen

Registriert: Di 29. Sep 2009, 09:06
Beiträge: 123
Beitrag Re: CI OOP
@Sym2k8

Dem muß ich leider zustimmen. Die Doku von der 3.0 geht mal gar nicht. Aber wie gesagt, außer das Kohana auf php5 aufbaut und wirklich oop ist, sehe ich keine großen Unterschiede im Vergleich zu CI. Zumindest, was den Umfang an Funktionen betrifft.

Bis auf den Template-Controller. Der ist super.

Ich bin mal auf CI 2.0 gespannt. :D

Hab mal kurz reingeschaut. Aber werde wohl warten, bis die Doku einigermaßen fertig ist. Gerade die jquery-Klasse interessiert mich.

Lonestar


Do 22. Jul 2010, 09:21
Profil E-Mail senden
Benutzeravatar

Registriert: Mi 4. Nov 2009, 22:03
Beiträge: 39
Beitrag Re: CI OOP
inoffizielle Doku nutzten ;) http://kerkness.ca/wiki/doku.php

_________________
Meine JID: sebix@jabber.ccc.de
Bild


Fr 23. Jul 2010, 14:41
Profil

Registriert: Do 29. Jul 2010, 19:59
Beiträge: 11
Beitrag Re: CI OOP
Hoy zusammen. Ein Autoloading für CI zu implementieren ist nicht soo schwer. Man erstellt einfach eine eigene Library die beim Spl Autoloader eine Funktion registriert die die Klassen nachlädt. Diese Library kommt dann in CI's autoloads und mann muss nie mehr selbst eine Klasse nachladen.
Siehe http://ch.php.net/manual/en/function.sp ... gister.php (falls Nachfrage nach dem Code besteht ruhig melden).


Do 29. Jul 2010, 23:39
Profil E-Mail senden
Administrator
Benutzeravatar

Registriert: Di 2. Jun 2009, 23:11
Beiträge: 615
Wohnort: Schweiz
Beitrag Re: CI OOP
@RCKY: Kannst du hierzu ein Beispiel verfassen? Ganz verstehen tu ich noch nicht ganz wie das funktioniert.

Du registrierst alle Klassen per spl_autoload_register('Foo::test') und wenn du im Coding auf $foo->test zugreifst wird die Klasse automatisch geladen oder wie?

_________________
FreeBSD für Ein- und Umsteiger: http://serverzeit.de


Fr 30. Jul 2010, 10:02
Profil E-Mail senden ICQ Website besuchen

Registriert: Do 29. Jul 2010, 19:59
Beiträge: 11
Beitrag Re: CI OOP
Code:
/**
 * Abgespecktes Beispiel
 */
class Autoloading
{
    // Konstruktor wird von CI aufgerufen
    public function  __construct()
    {
        // registrieren der autoload funktion
        spl_autoload_register('Autoloading::load_class');
    }
    public static function load_class($classname)
    {
        // generieren des Pfades, hier nur für Model Klassen
        $path = APPPATH.'models/'.strtolower($classname).EXT;
        if(file_exists(path))
        {
            require_once $path;
        }
    }
}
 

Die load_class methode kannst du nun beliebig erweitern, so dass sie auch eigene Libraries etc laden kann oder über directories iteriert. Sie wird immer aufgerufen wenn eine Klasse nicht auffindbar ist. Dieser weg erlaubt dir auch mehrere Methoden zu registrieren.
Es empfiehlt sich aber zu prüfen ob die klassen nicht von CI selber sind (beginnen mit 'CI_'), die sollte das Framework schon selbst laden. Das ganze erzeugt sicherlich einen kleinen Overhead, der Komfort ist allerdings mehr wert!
Code:

  
// nie mehr
  $this->load->model('Foo');
  $this->load->....
  // sondern nur noch, kein einziges require mehr in deinem Code
  $bar = new Foo();
 

Waren eigentlich die ersten Zeilen Code die ich für CI geschrieben habe und weis eigentlich gar nicht mehr wies ohne ist ;).


Fr 30. Jul 2010, 17:11
Profil E-Mail senden
Administrator
Benutzeravatar

Registriert: Di 2. Jun 2009, 23:11
Beiträge: 615
Wohnort: Schweiz
Beitrag Re: CI OOP
Jetzt weiss ich was du meinst.

Sehr hübsch. Du könntest das ins Wiki stellen :)

_________________
FreeBSD für Ein- und Umsteiger: http://serverzeit.de


Fr 30. Jul 2010, 21:23
Profil E-Mail senden ICQ Website besuchen
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite Vorherige  1, 2


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
CodeIgniter ist ein Warenzeichen der Ellislab, Inc.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.
NutzungsbedingungenDatenschutzrichtlinie
Deutsche Übersetzung durch phpBB.de