stfalcon.com: Increasing project productivity in Symfony2 from Doctrine2 ORM

In this tutorial to the stfalcon.com site Sasha Lensky talks about some things you can do to help boost the performance of your Symfony2 application with a few tweaks in how Doctrine is used.

I have been trying to write this article for a long time, but just couldn’t get around. Finally, I pulled myself together and did it. So, what will we discus … I will share some techniques about working with Doctrine2 ORM, which will help to improve the site performance on Symfony2 (precisely any site that uses Doctrine2 ORM). I have created a project and put it on GitHub as a visual guide, so anyone can test my words in action now.

He shares five tips and includes code examples and results (based on the Profiler toolbar) for each:

  • Downloading all necessary connections
  • Updating multiple entities by request
  • Hydration waiver
  • Using Reference Proxies
  • Using Symfony Profiler Toolbar

That final tip about the Profiler toolbar is actually one used in the rest of the examples too, showing how to get that other information from the tool.

Link: http://stfalcon.com/en/blog/post/performance-symfony2-doctrine2-orm
PHPDeveloper.org

Gonzalo Ayuso: Kombinieren Zend Framework2 und Symfony2 Komponenten mit Composer PHP Projekte zu bauen

In seinem jüngsten Beitrag Gonzalo Ayuso zeigt Ihnen, wie in das gleiche Projekt mit Composer .

Zend Framework 2 ist endlich stabil . Ich muss zugeben, dass ich nicht bin ein großer Fan von ZF (oder sogar Symfony2) als Full-Stack Rahmen. Ich normalerweise lieber micro Frameworks verwenden, aber diese beiden Frameworks (ZF2 und SF2) sind groß, wie Komponenten-Bibliotheken. Heute werden wir eine einfache Konsolenanwendung (mit symfony / console Komponente) zu bauen, um die Liste Datenbanktabellen (mit zendframework / zend-db ’s Metadaten).

Er beginnt mit der Informationen, die Sie brauchen, um in Ihrem „composer.json“ Datei ablegen, um die benötigten Pakete (und bis der Autoloader ein Bit gesetzt) ​​bekommen werde. In der Post ist der Code seine „SchemeCommand“-Klasse zu erstellen, um den neuen CLI-Befehl, eine, die in einer Datenbank und Echos aus dem Metadaten über die angegebene Tabelle verbindet machen. Ein Unit-Test ist ebenfalls enthalten.

PHPDeveloper.org

Joshua Thijssen Blog: Mit Landstreicher und Marionette zu Ihrem symfony2 Umgebung einzurichten

In seinem jüngsten Beitrag Joshua Theijssen zeigt Ihnen, wie Sie , automatisiert mit Hilfe von Marionetten-und Vagrant.

Zusammen mit anderen Tools, die Einrichtung eine komplette Entwicklungsumgebung mit nur einem einzigen Befehl ist nicht nur Realität, aber es ist für viele Entwickler ein täglicher Praxis zu. Aber auch für Open-Source-Projekte wie

Er bietet Ihnen einige Beispiele in Form einer Vagrantfile sichergestellt, die einen 64-Bit-CentOS-Instanz und konfiguriert den Server mit ein paar Einstellungen und zeigt sie auf einem Puppet-Konfiguration. Er enthält eine Reihe grundlegender Puppet Konfiguration Beispiele und zeigt, wie man es verwenden, um verschiedene Pakete, bis MySQL, phpMyAdmin Last gesetzt installieren, zu konfigurieren PHP und schließlich die Bootstrap Symfony2 durch Impfen eine Lehre Schema.

PHPDeveloper.org

Leaseweb Labs Blog: Migration auf Symfony2 fortgesetzt

Auf der LeaseWeb Labs Blog gibt es eine Fortsetzung von einem vorherigen Post über die Migration Ihrer Anwendung über Symfony1 zu Symfony2. In der ersten Teil dieser Serie von Posts, Stefan Koopmanschap über Umhüllung Ihren Code, um ihn gesprochen zu arbeiten . In diese zweite post , Maurtis van der Schee packt zwei Fragen Stefan genannt – Performance-Probleme und Handhabung Autorisierung / Authentifizierung.

Am 21. Dezember 2011 schrieb Stefan Koopmanschap einen exzellenten Artikel auf diesem Blog mit dem Titel „Schmerzlos (naja, weniger schmerzhaft) Migration auf Symfony2.“ […] Wir wurden sehr stark durch seine leidenschaftliche Aufklärung inspiriert und wir waren voll von dem Drang der Migration zu beginnen, um Symfony2 so bald wie möglich davon überzeugt. Aber er gab uns auch mit einem „ein Wort der Vorsicht“ über 2 Dinge: Leistung und Authentifizierung / Autorisierung. Dies könnte sich einige Leute Sorgen, aber nicht uns: es hat uns aufgefordert, eine Lösung für diese beiden offenen Fragen zu finden.

Sie erklären, warum diese beiden Dinge ein Problem und einige ihrer Lösungen, die sie erstellt haben, sind -. Ein htaccess für das Routing und manuell die Replikation der Symfony2 Sitzung in der Symfony1 Code. Inbegriffen in der Post sind die Rewrite-Regeln und Code, um diese beiden Dinge passieren (und eine kleine Änderung der Konfiguration, damit sie funktionieren).

PHPDeveloper.org

Henrik Bjørnskov Blog: Symfony2: Mit dem Validator symfony1 Stil

In diese schnelle neuen Beitrag zu seinem Blog Henrik Bjørnskov zeigt, wie die Validatoren in Symfony2 in einem traditionelleren Symfony ein Stil für ein Formular.

Zwei der kompliziertere Bauteile in Symfony2 ist die Form und Validator Komponente. Der Validator ist so, wie es „immer“ benötigen Sie eine Domain Object mit Einschränkungen durch Metadaten zugeordnet erstellt. Dies ist im Detail erklärt hier . Aber es gibt einen anderen Weg. Ein Weg, der ähnlich ist die symfony1 Formen. Wo könnten Sie geben die Validierungen direkt in Ihrem Formular-Klasse.

Kodex wird in der Post aufgenommen, um zu zeigen, wie man in ein paar von den Validatoren (wie NotBlank, E-Mail und Choice) und wie man sie in den Einstellungen in der „getDefaultOptions“-Methode definiert nutzen zu laden.

PHPDeveloper.org

Fabien Potencier Blog: Erstellen Sie Ihre eigenen Rahmen … auf der Oberseite des Symfony2 Komponenten (Teil 11)

In von seinem „Build einen Rahmenbeschluss auf der Symfony2“, Fabien Potencier verbessert seinen früheren Versionen des Codes, indem in der HttpKernel Unterstützung für den Umgang mit Ereignissen und Fehlern, die auftreten könnten in der Anwendung.

Wenn Sie unsere Rahmenbedingungen gerade jetzt, würden Sie wahrscheinlich um die Unterstützung für benutzerdefinierte Fehlermeldungen hinzuzufügen. Im Moment haben wir 404 und 500 Fehler zu unterstützen, aber die Antworten sind in das Framework selbst einprogrammiert. So dass sie individuell ist leicht genug, aber: Versand eines neuen Ereignisses und hören Sie es. Doing es richtig heißt, dass der Zuhörer zu einer regelmäßigen Controller aufgerufen hat. Aber was, wenn der Fehler-Controller löst eine Ausnahme? Sie werden am Ende in einer Endlosschleife. Es sollte ein einfacher Weg sein, oder?

Mit dem „RouterListener“-Funktionalität, setzt er ein „ExceptionListener“ und Punkte, die zu einer Fehlerbehandlung Controller mit eigenem „exceptionAction“. Diese Aktion nimmt die Informationen zur Ausnahme und zeigt ein „Something went wrong!“ Nachricht zusammen mit den Einzelheiten. Er enthält außerdem ein Update auf die Response-Handling für die Rückgabe eines Strings zurück aus der Steuerung statt einer Response-Objekt zu ermöglichen.

PHPDeveloper.org

Fabien Potencier Blog: Erstellen Sie Ihre eigenen Rahmen … auf der Oberseite des Symfony2 Komponenten (Teil 9)

Fabien Potencier hat geschrieben das von seinem „Aufbau eines Rahmens für die Symfony2 Komponenten -Serie. In dieser neuesten Tutorial nimmt er den einfachen Rahmen er bereits angelegt ist (komplett mit einigen Unit-Tests) und macht es leichter, zu erweitern.

Unsere Rahmen fehlt noch ein wichtiges Merkmal eines jeden guten Rahmen: Erweiterbarkeit. Als erweiterbare bedeutet, dass die Entwickler in der Lage sein leicht in den Rahmen Lebenszyklus Haken, um den Weg der Antrag bearbeitet ändern sollte.

Er wählt die Observer-Entwurfsmuster als Grundlage für sein Beispiel, so dass jede Art von Verhalten / Aktionen, die auf den Rahmen der Ausführung hinzugefügt werden. Er umfasst die Symfony2 Dispatcher, um diese Arbeit zu machen und auch den Code für ein „Griff“-Methode, um Feuer off-Veranstaltungen. Er führt ein „ResponseEvent“ jedes Mal den Rahmen ausgeführt wird. Ein „addListener“-Methode bietet den Haken, um einen Rückruf zu einer Veranstaltung gelten – in seinem Fall eine anonyme Funktion (oder Schließung).

PHPDeveloper.org

Fabien Potencier Blog: Erstellen Sie Ihre eigenen Rahmen … auf der Oberseite des Symfony2 Komponenten (Teil 6)

In der zum Erstellen eines benutzerdefinierten Rahmen auf der Oberseite des Symfony2 Komponenten, Fabien Potencier schaut, wie die vorherigen Beispiele durch das Austauschen der mehr prozedurale Controller mit tatsächlichen Klassen zu verbessern.

Der Umzug ist ziemlich einfach und macht sehr viel Sinn, sobald man mehr Seiten zu erstellen, aber Sie können einen nicht wünschenswerten Nebeneffekt bemerkt haben … Die LeapYearController Klasse ist immer instanziiert, auch wenn die angeforderte URL nicht mit der leap_year Route. Dies ist für einen Hauptgrund schlecht: Leistung klug, alle Controller für alle Strecken muss nun für jede Anforderung instanziiert werden. Es wäre besser, wenn Steuerungen waren faul-geladen, so dass nur die Steuerung mit den passenden Route zugeordnet wird instanziiert.

Um das Problem zu lösen, nutzt er die HttpKernel Komponente und ihrer „Controller Resolver“, um herauszufinden, wie man den Controller aufrufen und ihm die Parameter, sondern nur bei Bedarf. Ein Resolver-Objekt erstellt wird und dass wird verwendet, um die Controller-Objekt zu instanziieren. Sample „action“ ruft enthalten sind zum Ausfüllen des Basis-Controller (seine „Schaltjahr“ zB) und die volle resultierende Code ist sowohl für den Rahmen und die neuen objektorientierten Controller enthalten.

PHPDeveloper.org

ServerGrove Blog: Einfache Verwaltung mehrsprachiger Websites mit der neuen TranslationEditorBundle für Symfony2

Auf der ServerGrove Blog heute gibt es einen neuen Beitrag über (Symfony2), um mehrsprachige Unterstützung für Ihre Website zu behandeln.

Wir arbeiten seit vielen mit Symfony2 Übersetzungen in letzter Zeit (wir unserer Website ins Spanische übersetzt, und wir sind in den Prozess der Übersetzung unsere Bedienfeld auch). Der Umgang mit mehreren Übersetzungs-Dateien ist nicht schwierig, aber es braucht Zeit, viel copy & paste. Wir haben herausgefunden, dass ist ganz einfach, Fehler zu machen, erstellen doppelte Zeilen, etc. .. kurz, es ist chaotisch. Um zu zähmen die Übersetzung Chaos haben wir beschlossen, eine einfache Web-basierten Editor erstellen, um mit Symfony2 Übersetzungen beschäftigen. Das Ergebnis ist die TranslationEditorBundle und es ist öffentlich zugänglich für jedermann zu benutzen und einen Beitrag zur.

Das Bundle gibt Ihnen eine einfache Web-Frontend zur Bearbeitung der Übersetzung, so dass es viel einfacher die Eingabe der verschiedenen Versionen des Textes sowie bestimmen, wo jegliche Doppelarbeit geschehen könnte. Es gibt Ihnen auch Dinge wie die Gesamtzahl der Einträge und die Anzahl der ihnen fehlenden ihre Übersetzungen.

PHPDeveloper.org

Henrik Bjørnskov Blog: Symfony2: Add Cross Site Request Forgery Schutz von Formularen anmelden

In einem neuen Beitrag in seinem Blog Henrik Bjørnskov hat einen Tipp für verhindern Cross-Site Request Forgery in Ihrem Symfony2 Formen mit Hilfe eines einfachen Symfony2 Konfigurationseinstellung.

Im Gespräch mit @ jmikola auf # Symfony-dev an diesem Nachmittag kamen wir in das Thema Cross-Site Request Forgery und symfony2 Anmeldeformulare. Und es scheint, dass form-login unterstützt bereits diese aber keiner von uns wusste, wie es funktionierte. So, hier ist noch eine schnelle Spitze. Diesmal über das Sichern von Ihnen Login-Formular von Cross-Site-Angriffe.

Der Schlüssel ist, um eine „csrf_provider“ in Ihrem security.yml config-Datei definieren und verweisen Sie auf den „form.csrf_provider“-Anbieter. Er umfasst auch die Controller-und View-Code / Templating Sie brauchen, um das Token in der Form (und validiert) enthalten bekommen werde.

PHPDeveloper.org