Ergebnis 1 bis 14 von 14

Thema: Konzeptionelle Frage Zend_Application_Resource_Log

  1. #1
    Erfahrener Benutzer Avatar von t-mow
    Registriert seit
    09.08.2007
    Ort
    Elmshorn
    Beiträge
    173
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Idee Konzeptionelle Frage Zend_Application_Resource_Log

    Hallo,

    hoffentlich ist das hier das richtige Unterforum. Ich überlege gerade, wie ich die in ZF 1.10 eingeführte Log Resource am besten in meinem Code anspreche, ohne überall den fast gleichen Code zu schreiben.

    Innerhalb einer Action wärs ja z.B. folgendes:
    PHP-Code:
    $bootstrap $this->getInvokeArg('bootstrap');
    $log $bootstrap->getResource('log');
    $log->info('message...'); 
    Funktioniert, aber die ersten beiden Zeilen gefallen mir nicht. Innerhalb einer Action könnte ich dafür ja quasi einen (zu bauenden) ActionHelper_Log nutzen, in dem ich die beiden Zeilen dann drin stehen habe und nur noch meine Message übergebe.

    Eigentlich schon ganz gut, aber was ist dann, wenn ich z.B. aus einem Model (DbTable o.ä.) heraus loggen möchte? :-/ Würde mir nur ungern über den HelperBroker den Helper holen, etc...

    Danke für jegliche Anregungen.

  2. #2
    Erfahrener Benutzer
    Registriert seit
    25.03.2009
    Ort
    Schwerin
    Beiträge
    108
    Thanks
    4
    Thanked 1 Time in 1 Post

    Standard

    Bin nicht auf dem Laufenden aber ich meine mal gelesen zu haben, dass die Resourcen in der Registry abgespeichert werden. Nur hab ich da nicht immer den Eindruck dass das funkioniert (Bei Zend_Translate scheints bei mir zu gehen, aber wie gesagt bin nicht ganz auf dem Laufenden).

    Also vom Prinzip her:
    $log = Zend_Registry::get('log');

  3. #3
    Erfahrener Benutzer
    Registriert seit
    28.12.2006
    Beiträge
    9.966
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Im Source find ich nichts zur Registry und auch im Manual zu Zend_Log::factory() ist davon nichts zu finden. Aber man kanns ja auch selbst dort ablegen.

  4. #4
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    4.503
    Thanks
    1
    Thanked 125 Times in 121 Posts

    Standard

    Zitat Zitat von tector
    Bin nicht auf dem Laufenden aber ich meine mal gelesen zu haben, dass die Resourcen in der Registry abgespeichert werden. Nur hab ich da nicht immer den Eindruck dass das funkioniert (Bei Zend_Translate scheints bei mir zu gehen, aber wie gesagt bin nicht ganz auf dem Laufenden).
    Warum raten? Die Lösung lässt sich doch ganz einfach finden: Im Quellcode nachschauen!
    Zitat Zitat von tector
    Also vom Prinzip her:
    $log = Zend_Registry::get('log');
    Nein, hier nicht. Einen Hinweis dazu gibt es aber auch in der Doku: „Zend_Application - Zend_Application_Resource_Log
    Zum Zend Framework stehen jedem folgende fünf Quellen zum Nachschlagen zur Verfügung:

  5. #5
    Erfahrener Benutzer
    Registriert seit
    25.03.2009
    Ort
    Schwerin
    Beiträge
    108
    Thanks
    4
    Thanked 1 Time in 1 Post

    Standard

    Hm, das mit der Registry habe ich ganz bestimmt irgendwo mal gelesen... sollte auf alle Application Resources zutreffen...

    KaiUwe weißt du da mehr? In der Doku hab ich da auch nie was von gelesen...
    Bei Translate scheint es ja zu gehen..

    EDIT: Nein, stimmt nicht. Sorry für die Falschaussage - hab ich doch selbst in die Registry gepackt ^^ Trotzdem hab ich es mal irgendwo gelesen.
    Geändert von tector (28.01.2010 um 20:05 Uhr)

  6. #6
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    4.503
    Thanks
    1
    Thanked 125 Times in 121 Posts

    Standard

    Zitat Zitat von tector
    KaiUwe weißt du da mehr? In der Doku hab ich da auch nie was von gelesen...
    Bei Translate scheint es ja zu gehen..
    Ich zitiere mich mal selber:
    Zitat Zitat von Kaiuwe
    Die Lösung lässt sich doch ganz einfach finden: Im Quellcode nachschauen!
    Wer PHP-Code schreiben kann, kann diesen auch lesen.
    Zum Zend Framework stehen jedem folgende fünf Quellen zum Nachschlagen zur Verfügung:

  7. #7
    Erfahrener Benutzer
    Registriert seit
    25.03.2009
    Ort
    Schwerin
    Beiträge
    108
    Thanks
    4
    Thanked 1 Time in 1 Post

    Standard

    Habe ich gemacht (nach meinem ersten POST).
    Ein einfaches: 'Nein, ist nicht so' hätte aber auch gereicht.. Aber entschuldige wenn meine Frage nicht genau genug formuliert war.
    War jetzt auch nicht SO wichtig für mich..
    Geändert von tector (28.01.2010 um 21:47 Uhr)

  8. #8
    Erfahrener Benutzer
    Registriert seit
    28.12.2006
    Beiträge
    9.966
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Also, ich hab einfach "Nein" gesagt -_-

  9. #9
    Erfahrener Benutzer Avatar von t-mow
    Registriert seit
    09.08.2007
    Ort
    Elmshorn
    Beiträge
    173
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    ... man man, was ein Trubel wieder hier

    ich werde die vorhandene Log Resource erweitern und mich in Zend_Registry einklinken. Vielleicht wird das ja ohnehin in einem zukünftigen Release mal dahingehend geändert.

    -- closed, quasi

  10. #10
    Erfahrener Benutzer
    Registriert seit
    25.03.2009
    Ort
    Schwerin
    Beiträge
    108
    Thanks
    4
    Thanked 1 Time in 1 Post

    Standard

    sorry KingCrunch, ich meinte KaiUwe damit.

    KaiUwe zitiert seinen Hinweis auf die Doku ... ich gucke daraufhin ein zweites Mal in die Doku und guck auch in den Quelltext und finde nichts was von 'Registry' spricht... Daraus schließe ich aber nicht, dass es nicht vielleicht doch irgendwo drin steckt. Die Bootstrap-Komponente mit den Resource-Plugins ist ja nicht grad die einfachste Zend-Komponente.
    Deshalb hatte ich nochmal nachgefragt... mehr wollte ich nicht.

  11. #11
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    4.503
    Thanks
    1
    Thanked 125 Times in 121 Posts

    Standard

    Zitat Zitat von tector
    KaiUwe zitiert seinen Hinweis auf die Doku ... ich gucke daraufhin ein zweites Mal in die Doku und guck auch in den Quelltext und finde nichts was von 'Registry' spricht... Daraus schließe ich aber nicht, dass es nicht vielleicht doch irgendwo drin steckt. Die Bootstrap-Komponente mit den Resource-Plugins ist ja nicht grad die einfachste Zend-Komponente.
    Deshalb hatte ich nochmal nachgefragt... mehr wollte ich nicht.
    Ich habe einmal den Hinweis auf die Doku gegeben, denn dort steht folgendes:
    Zitat Zitat von Zend Framework-Doku
    Die Log Instanz kann später durch den Bootstrap empfangen werden um Events zu loggen.
    Ich habe zweimal den Verweis auf den Quellcode gegeben, denn die Doku führt nicht alle Ressourcen auf und es fehlen auch einige Angaben.
    Aus dem Quellcode lässt sich ganz schnell ermitteln:
    PHP-Code:
    class Zend_Application_Resource_Locale
        
    extends Zend_Application_Resource_ResourceAbstract
    {
        const 
    DEFAULT_REGISTRY_KEY 'Zend_Locale';
        ...

    PHP-Code:
    class Zend_Application_Resource_Navigation
        
    extends Zend_Application_Resource_ResourceAbstract
    {
        const 
    DEFAULT_REGISTRY_KEY 'Zend_Navigation';
        ...

    PHP-Code:
    class Zend_Application_Resource_Translate extends Zend_Application_Resource_ResourceAbstract
    {
        const 
    DEFAULT_REGISTRY_KEY 'Zend_Translate';
        ...

    Zum Zend Framework stehen jedem folgende fünf Quellen zum Nachschlagen zur Verfügung:

  12. #12
    Erfahrener Benutzer
    Registriert seit
    25.03.2009
    Ort
    Schwerin
    Beiträge
    108
    Thanks
    4
    Thanked 1 Time in 1 Post

    Standard

    Ok, das ist doch endlich die Antwort die ich haben wollte.
    Ich gebe zu dich falsch zitiert und mir nicht alle Ressourcen angeguckt zu haben, nur Log und Cachemanager (weil ich den grad ausprobiere). Beide werden nicht in der Registry gespeichert also habe ich womöglich vorschnell dies ebenfalls auf die anderen Ressourcen bezogen...

    Kurz zusammengefasst:
    EINIGE Ressourcen werden in der Registry zu weiteren Verwendung abgespeichert aber NICHT ALLE.

    Vorschlag: Hinweis in der Dokumentation ergänzen.

    EDIT: auch meine falsche Falschaussage oben nehm ich zurück, denn sie war eigentlich richtig ^^ natürlich wird Translate automatisch mit dem Key 'Zend_Translate' in der Registry gespeichert und das funktioniert in meiner Anwendung auch. Zusätzlich habe ich es aber nochmal in der Registry mit Key 'translate' gespeichert - das werde ich umgehend entfernen..
    Geändert von tector (29.01.2010 um 10:23 Uhr)

  13. #13
    Erfahrener Benutzer
    Registriert seit
    28.12.2006
    Beiträge
    9.966
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Vorschlag: Hinweis in der Dokumentation ergänzen.
    Uns musste das nicht sagen

  14. #14
    Erfahrener Benutzer
    Registriert seit
    25.03.2009
    Ort
    Schwerin
    Beiträge
    108
    Thanks
    4
    Thanked 1 Time in 1 Post

    Standard

    Ok, ich habe nun ein Ticket dafür erstellt:
    http://framework.zend.com/issues/browse/ZF-9005

Ähnliche Themen

  1. Konzeptionelle Fragen
    Von jack2003 im Forum Einsteigerfragen
    Antworten: 0
    Letzter Beitrag: 17.06.2009, 16:42
  2. Konzeptionelle Frage MVC - CronJobs
    Von sterie im Forum Konzepte & Ideen
    Antworten: 7
    Letzter Beitrag: 31.03.2009, 15:19

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •