PHP room program
The program of the PHP track at the FrOSCon 11. Thank you to all speakers:
Saturday, 20.08.11
Time | Session |
|---|---|
10:00 | Component Distribution mit Phar und Ivy Modularität führt zu Wartbarkeit und Qualität. Doch wer die passenden Versionen seiner Bibliotheken immer mit jeder Anwendung in einem gemeinsamen Repository pflegt, rutscht schnell in die Wartungshölle ab. Diese Session zeigt, wie elegant und pflegeleicht die Verteilung, Versionierung und das Auflösen von Abhängigkeiten mit PHAR und dem agilen Dependency-Manager Apache Ivy sein kann. |
11:15 | Singletons in PHP - Why they are bad and how you can eliminate them from your applications While Singletons have become a Pattern-Non-Grata over the years, you still find it surprisingly often in PHP applications and frameworks. This talk will explain what the Singleton pattern is, how it works in PHP and why you should avoid it in your application. The talk will start with a short history of where the Singleton came from, what it's goals are and how it can be implemented in PHP. I will then go on to show which of the five SOLID object oriented design principles Singletons violate and how it affects maintainability and testability of an application. I will explain why Global State and Coupling will hurt you in the long term and why Singletons are not as unique in PHP as in, for instance, Java. The remaining time will be spent on showing how the Inline Singleton refactoring can be used to eliminate Singletons from a codebase in favor of a Dependency Injection solution with Factories and Builders. |
14:00 | Modern PHP graphics with Cairo Generating graphics on-the-fly in PHP applications is a common requirement. Cairo, from the Freedesktop project, is a fast 2D vector graphics library with outputs to many different devices. It is already used by many big-name Open Source projects such as GNOME and Mozilla Firefox. The PECL Cairo extension for PHP 5.2 and above provides an easy-to-use interface to Cairo useful for generating images, SVGs and PDFs. This talk will demonstrate how to use its features in common situations, and compare it with other image libraries such as GD and ImageMagick. |
15:15 | Profiling PHP Applications The web is full of useful advice focussed on pushing out the last bit of performance of your code. They mention trivial changes. like changing every occurrence of print with echo even suggesting to use for instead of foreach. These optimisations help, but you are not going to notice it unless they're in a tight loop with many iterations. It is also a wrong approach for tackling performance issues. Before you can optimise, you need to find out if your code is actually slow; then you need to understand the code; and then you need to find out where you can optimise it. This talk introduces tools and concepts to optimise the optimisation of your PHP applications. |
16:30 | A content repository for your PHP application or CMS? The idea for using content repositories (CR) instead of relying on lower level database frameworks is gaining steam with several new kids on block, typically relying on NoSQL data stores. This talk will give an overview of the current state of the art amid several use cases (including ease of use, performance and flexibility) and architectures. CR such as Midgard, Lily, and architectures based on HBase, CouchDB, MongoDB (NoSQL stores) incombination with Information retrieval layers will be highlighted, as well is components or libraries to be used from the PHP side. |
17:45 | First Class APIs APIs are commonly an afterthought, like a hot tub awkwardly attached to a house — a shoehorned approach that produces a suboptimal app with scarce support that lacks documentation. In effect, APIs are the ugly stepchild of the Web. This is a sad reality that we are faced with, because many companies make their living consuming third-party APIs and mixing in their own data to create amazing and interesting mashups. In the initial phases of development, there is rarely enough money to develop the app and its API. By the time there’s both demand and money, it can be hard to fit an API on top of the architecture in such a way that the whole thing won’t fall over. APIs should be first class citizens of the Web. Inconceivable? Possimpible? Not at all! In this talk we will dive deeper into why APIs are an afterthought, how we can change that. We will also touch on how that can benefit your product down the line in terms of resource savings and infrastructure efficiency, as well as the impact it will have on your infrastructure. This talk is inspired by my phpadvent article: http://phpadvent.org/201002 |
Sunday, 21.08.10
Time | Session |
|---|---|
10:00 | phpDox - The next generation API documentation If there is one thing most developers can agree on its this: Documenting Code is annoying! This is especially true when OOP code practically describes itself because of type hints, dependency injection and clear visibility specifications. This session will demonstrate how phpDox, the xml driven PHP Documentation framework, combines the power of docblock with PHP's reflection api and how its flexible output can be used to generate the documentation in a format you always craved for. |
11:15 | Neue (agile) Wege gehen Kulturelle Hindernisse verstehen und meistern Die Realität zeigt: das Liefern von Projekten „in time, quality and budget“ ist schwer. Anforderungen korrekt und ausreichend in Lasten- bzw. Pflichtenheften zu beschreiben ist nahezu unmöglich. Daran scheitern Auftraggeber und –nehmer regelmäßig. Der verzichtenswerten Diskussion, ob etwas Feature, Bug oder Change Request sei, ist Tür und Tor geöffnet. Gleichzeitig keimt der Gedanke, dass der Auftraggeber die eigenen Anforderungen nur unzureichend kennt. Die Idee, unter diesen Voraussetzungen agil zu entwickeln, erscheint verheißungsvoll. Ziel ist eine den eigentlichen Anforderungen gerecht werdende Implementierung, welche von einem motivierten Team erstellt und weiterentwickelt wird. Wie gelingt es aber, agile Entwicklungsmethoden in dem Umfeld eines starren Anforderungsmanagements und reglementierter Einkaufsprozesse zu etablieren? Der Vortrag „Neue (agile) Wege gehen | Kulturelle Hindernisse verstehen und meistern“ beleuchtet die firmenkulturellen Hintergründe von typischen Softwarefirmen und Auftraggebern und bietet Verhandlungsstrategien zur Einführung von agilen Methoden (konkret: SCRUM, Kanban). |
14:00 | Redaktionelle Hochlast -Webseiten am Beispiel von Stern.de Stern.de ist mit über 170.000.000 Seitenabrufen im Monat eine der höchstfrequentierten Webangebote Deutschlands. In Spitzen, wie zum Beispiel zu einer Stern-TV-Sendung, wird die Last auf den Systemen für einige Zeit mehr als verdoppelt. Um diesen sprunghaften Anstieg der Last kosteneffizient abzubilden bedarf es einer flexiblen System- und Software-Architektur. Es wird gezeigt, wie diese Anforderungen an eine redaktionelle Hochlast-Website sowohl in Infrastruktur, als auch in Software abgebildet werden und dazugehörende Herausforderungen skizziert. Behandelt werden unter anderem: PaaS, Gateway- , Object- und Byte-Code-Cache, ESI, Content Delivery Networks, Bottlenecks und Load Balancing. |
15:15 | Code Review in practice Over the course of the last view years the software quality movement gained a lot of traction in the PHP community. Making sure you develop high-quality maintainable, understandable and adoptable applications presents a big challenge and there are lots of different ways to achieve this goal. Focusing on finding and fixing overlooked mistakes and knowledge exchange between developers code reviews can be an important part of a process leading to clean code. This talk talks about the different processes and tools that can be employed for code reviews and proceeds to tell a story of implementing a commit-based code review process for a team of over 15 developers in which every single line of code gets reviewed. |
16:30 | PHPopstars PHPopstars feat. Sebastian Bergmann, Kristian Köhntopp, Kore Nordmann & Tobias Schlitt presents: Es gibt Vorträge, in die geht man, weil man muss ("Mein lieber Mitarbeiter, auf der $konferenz reden sie über $hippesManagementBuzzword. Das können wir doch auch gut gebrauchen ..."). Und es gibt Vorträge, in die man geht, weil man sich darauf freut, dass man kurzweilig unterhalten wird und quasi ganz nebenbei sein Wissen auf den neuesten Stand bringen kann. Wo liegen die Unterschiede? Warum sind die einen Vorträge attraktiv und wie entsteht diese Attraktivität? Und wie kommt man selbst in die Position, dass man sein eigenes Projekt spannend darbieten kann und so Interessierte, Programmierer und Anwender gewinnt? Wie wird man also über kurz oder lang selbst zu jemandem, dessen Talks gern besucht werden? Wie wird man PHPopstar? |
17:45 | Why you should use Symfony2 2011 will see the first stable release of Symfony2 and many of its protagonists have moved already. You should move too and here's why. In this talk I want to present all the benefits of Symfony2 starting from its killer features to its open interface architecture and decoupledness. I will show some of the advantages in different scenarios from microsites to large applications to legacy projects. |