2012-04-05 13 views
0

Ist es möglich, Kernbündel von Symfony 2 zu deaktivieren, wie zum Beispiel den Monolog Logger?Symfony 2: Disable Monolog

Ich arbeite an einer Anwendung, die nicht viele ausgefallene Anforderungen hat, außer dass sie ultra schnell und so leicht wie möglich sein sollte. Ich denke, Symfony 2 ist nicht der beste Rahmen in meiner Situation, aber für mich verwendet es die besten Prinzipien, es ist eine Freude zu arbeiten, und auch es gibt viele Bündel, die ich später nutzen könnte.

Also meine Frage ist wie im Titel, ist es möglich, Protokollierung vollständig zu deaktivieren (in der Produktionsumgebung mindestens), und wenn ja, wäre es möglich, andere solche Funktionen auch zu deaktivieren?

S.S .: Ich verstehe, dass die einfachste und sauberste Möglichkeit, ein Bundle zu deaktivieren, es aus dem Kernel zu entfernen, aber was passiert mit dem Code, der es verwendet?

+2

Ich kam hierher, weil ich wissen musste, wie ich Monolog für eine bestimmte Umgebung deaktivieren kann, aber wurde total durch den Titel Ihrer Frage irregeführt. Ich fand die Antwort schließlich selbst. Also, wenn Sie wissen möchten, wie man Monolog deaktivieren, versuchen Sie es bitte http://stackoverflow.com/questions/10348285/yaml-symfony2-override-configurations/13347822#13347822 – flu

Antwort

0

Eigentlich ist Symfony2 perfekt für das, was Sie wollen. Da es sich um ein entkoppeltes Framework handelt, können Sie einfach die gewünschten Funktionen hinzufügen. Sie können Monolog aus Konfigurationsdateien deaktivieren.

Auch gibt es Silex, ein Mikro-Framework mit Symfony-Komponenten gebaut, entwickelt, um leicht und schnell für relativ kleine Aufträge zu sein.

+0

Ja, ich habe gerade die Dokumente von Silex gelesen, aber es dreht sich um zu klein zu sein: DI würde gerne die Vorteile der fos/knp Symfony Bundles nutzen. Ich habe herausgefunden wie man Monolog deaktiviert, aber es stellte sich heraus, dass Monolog keinen Overhead verursachte. Irgendwelche anderen leichten Tipps? –

+0

Nun, ich kann nichts sagen, ohne zu sehen, wie Ihr Projekt funktioniert. Der Symfony2-Basiscode ist in vielen Bereichen bereits schnell und mikrooptimiert. Fabien Potencier, der Schöpfer von Symfony, hat eine Reihe von Blog-Posts in seinem Blog (http://fabien.potencier.org/), die erklären, wie man ein Framework mit Symfony-Komponenten baut. Sie können sie überprüfen, um zu verstehen, wie Symfony funktioniert, als Sie nur die Komponenten verwenden können, die Sie wirklich benötigen, um die Leistung weiter zu verbessern. Sie können mithilfe der Debug-Symbolleiste und des Profilers nach Engpässen suchen und den Code verbessern, um sie zu entfernen. –

+0

Ich denke, ich sollte mir keine Sorgen machen. Ich habe bereits ein mittelschweres Projekt auf Basis von Symfony 2 (nicht sehr gut codiert - es ist mein erstes), das normalerweise 50-60 ms benötigt, um auf den Prod-Server geladen zu werden. Das ganze Problem kommt von der Tatsache, dass an meinem Laptop (in dev env) das einfache Acme Demo-Bundle> 1s lädt, was für die Entwicklung ziemlich langsam ist. Das andere Projekt geht bis zu 4s mit meinem Code, aber ich denke, es ist besser, das Bundle und den Server zu optimieren oder für zusätzliche CPU-Leistung zu bezahlen, anstatt nach Optimierungsmöglichkeiten zu suchen (Symfony 2). Vielen Dank! –