Termine in 2012

27.02.2012

With all PHP topics, nothing counts more than their practical application. This is why thePHP.cc once again offers a highly interactive and practical training right before ConFoo. Based on their own specific needs and questions, the attendees decide on the topics that are covered. They experience the development of new code at first hand, following their own agendas rather than those of the three trainers. With a twinkle in their eyes and a dash of fun, Sebastian Bergmann, Arne Blankerts, and Stefan Priebsch explain development methods and tools, present trends and concepts, and perform joint code review sessions. This is efficient learning in a relaxed environment. Topics covered include development best practices, object-oriented programming, design patterns, web application architecture, security, software quality and testing. All three trainers will be present at all times, so attendees have an unparalleled level of access to top-notch PHP expertise. This training gives answers to every question you ever had about PHP and software development with PHP. Attendees should bring their own code and as many questions as they have. Take advantage of this uniquely intense form of knowledge transfer at an unbeatable cost-to-benefit ratio!

Weiter zum Vortrag

01.03.2012

Today, large-scale PHP platforms like Facebook demonstrate strikingly that it is quite possible to build scalable, high-performance web applications with PHP. It does not work out to just use an MVC framework as architecture, though. This session allows a peek into web architectures and technologies that large-scale PHP platforms use, and demonstrates how you can use them in your own projects.

Weiter zum Vortrag

To ensure the high quality of your source code, you of course write (unit) tests and do regular code reviews. Judging the state of security though may seem a lot harder than it is – if you don't know what to look for and where to get started. This talk will introduce you to security audits, why and how tools can assist a manual review and why a mere scanner based approach doesn't work.

Weiter zum Vortrag

Most web applications are changed and adapted quite frequently and quickly. Their environment, for example the size and the behavior of the user base, are constantly changing. What was sufficient yesterday can be insufficient today. Especially in a web environment it is important to monitor and continuously improve the internal quality not only when developing, but also when maintaining the software. Jenkins is the leading open-source continuous integration server. Thanks to its thriving plugin ecosystem, it supports building and testing virtually any project. This session explains how you can leverage Jenkins to monitor the various aspects of software quality in a PHP software project.

Weiter zum Vortrag

02.03.2012

Somehow you met the impossible deadline, your project is on-line and you now deserve some time to relax. Other than you and me though, the internet does not sleep and your application is under constant attack having hackers have their ways to break into applications and steal or modify private information. Switch sides for an hour and attack the demo blackbox application! Learn how attackers gather information, exploit vulnerabilities and hijack servers – and what to do to stop them.

Weiter zum Vortrag

Various testing tools exist to test the different aspects and layers of PHP applications. There is PHPUnit for Unit Testing (and Test-Driven Development), Behat for Acceptance Testing (and Behaviour-Driven Development), Selenium for System Testing, and a plethora of tools for testing non-functional aspects such as performance and security. This presentation provides an overview of the goals of each of these tools and shows the first steps to leveraging them in your daily routine.

Weiter zum Vortrag

19.03.2012

Natürlich könnte man das Rad jeden Tag neu erfinden. Meist fehlt dafür die Zeit, Spaß macht es auch nicht und Fehler können sich so immer wieder an denselben Stellen einschleichen. Für die vielen alltäglichen Probleme, die nur geringfügig von schon vorhandenen Lösungen abweichen, gibt es clevere Ansätze, die das Leben leichter machen. In einer komplett vom Auditorium gesteuerten Live Session zeigt der Workshop dafür programmatische Konzepte und lädt zur Diskussion über Tools und klassische Fragestellungen ein.

Weiter zum Vortrag

Programme und Webseiten enthalten Fehler. Immer. Sie werden sichtbar, wenn Benutzer falsche, ungültige oder unerwartete Eingaben machen, der Zugriff auf die Datenbank plötzlich unmöglich ist oder die Festplatte überläuft. Um solche und andere Probleme sicher abzufangen, gibt es verschiedene Ansätze, die hier vorgestellt und diskutiert werden. Wie man Exceptions richtig anwendet, warum ein eigener Errorhandler hilfreich ist und dass Debugging viel mit Sicherheit zu tun hat, vermittelt der Workshop lebendig und anschaulich.

Weiter zum Vortrag

PHP 5.3 und PHP 5.4 überzeugen im Programmieralltag durch eine Fülle relevanter Vereinfachungen. Lernen Sie die innovativen Features und geschickte Einsatzmöglichkeiten der neuen Versionen kennen. Entdecken Sie das Lösungspotenzial aktueller Technologien aus dem PHP-Umfeld (memcached, ZeroMQ …) für Ihre Fragestellungen.

Weiter zum Vortrag

Früher oder später wird unsauber geschriebener Code zum Ärgernis. Nicht nur für den, der ihn warten muss. Änderungen und Erweiterungen können im Extremfall den Code unwirtschaftlich machen. Lernen Sie schlechten Code durch statische Code-Analyse aufzufinden und in test- und wartbaren Code umzuschreiben. Lernen Sie mithilfe der SOLID-Prinzipien, nachhaltig wartbaren Code zu schreiben.

Weiter zum Vortrag

Der Workshop klärt die Frage, was es mit der objektorientierten Programmierung eigentlich auf sich hat. Jenseits der bekannten Standardbeispiele führt er praktisch in die OOP mit PHP ein. Dabei werden neben den Grundlagen und zentralen Prinzipien der OOP interessante Features beispielsweise aus der Standard PHP Library (SPL) vorgestellt und ihr sinnvoller Praxiseinsatz vorgeführt. Neben Faktenwissen wird eine Denkweise vermittelt, die es erlaubt, unnötig komplizierte Ansätze von vornherein zu umgehen.

Weiter zum Vortrag

Der Workshop zeigt Teilnehmern, die mit den Grundlagen der OOP vertraut sind, fortgeschrittene Techniken wie Dependency Injection, abstrakte Klassen, Interfaces und Best Practices für erfolgreiche OOP. Eine Live-Coding-Session macht den Einsatz der vorgestellten Techniken in der Praxis erfahrbar. Außer Faktenwissen zeigt der Workshop, dass gute Lösungen einfache Lösungen sind: Einfache Objekte sind leichter wieder zu verwenden und vermeiden Fehler.

Weiter zum Vortrag

20.03.2012

XML ist das Standardformat für den Datenaustausch im Web und verbirgt sich in vielen, für Endanwender oft nicht sichtbaren Dateiformaten (z. B. aktuelle MS Office Versionen) und Formen. Der Workshop zeigt, dass XML richtig Spaß machen kann, wenn die übermittelten Daten validiert werden und der Zugriff mit effizienten APIs erfolgt. In der Live Session erweitern wir das DOM-API von PHP um eigene Methoden und unterstützen die Lokalisierung durch PHP. Eigene XSD Schemata zur Validierung werden definiert und der Einsatz von XPath als Abfragesprache vorgeführt. Vermittelt wird auch der Einblick in eine wirklich effektive Fehlerbehandlung.

Weiter zum Vortrag

Wer einen ungeschickten Weg zur Lösung beschreitet, handelt sich Probleme ein, die er gar nicht haben möchte. In der Regel geht das zulasten des Tempos und der Skalierbarkeit. Wie man solche Schwachpunkte in gängigen Aufbauten und Architekturen vorab erkennt und durch bessere Konzepte von vornherein vermeiden kann, zeigt dieser Workshop an zahlreichen Praxisbeispielen. Eigene Denk- und Herangehensweisen können überprüft und modifiziert werden.

Weiter zum Vortrag

Der Workshop vermittelt grundlegende Kenntnisse und Fähigkeiten im Einsatz von PHPUnit bei Unit Tests, Datenbank-Interaktionstests, Edge-to-Edge-Tests und End-to-End-Tests. Sie lernen alles, was Sie über das Schreiben, Ausführen und Organisieren von Unit Tests mit PHPUnit beherrschen müssen.

Weiter zum Vortrag

PHPUnit clever einsetzen: Die Teilnehmer lernen die besten Praktiken beim Einsatz von PHPUnit und erprobte Strategien bei der Einführung von Testmaßnahmen an vorhandener Software kennen. Anhand zahlreicher Beispiele entwickeln Sie einen Blick für schlechte Tests und lernen, sie zu verbessern, schwer testbaren Code zu identifizieren und Legacy-Code Schritt für Schritt testbar zu machen.

Weiter zum Vortrag

Warum das Rad jedes Mal neu erfinden? Die Teilnehmer lernen in diesem Workshop wichtige Entwurfsmuster kennen, die sich in PHP-Webanwendungen besonders bewährt haben. Häufig in der Praxis auftretende Schwierigkeiten werden vorgeführt und Lösungen werden live programmiert. Vor- und Nachteile sowie Einsatzmöglichkeiten und typische Fehler bei der Anwendung von Standardmustern werden ausführlich erläutert und diskutiert.

Weiter zum Vortrag

Der Workshop behandelt Themenstellungen wie temporale Patterns, das Speichern von Objekten in relationale und NoSQL-Datenbanken oder Enterprise Integration Patterns mit Schwerpunkten, die von den Teilnehmern frei festgelegt werden. Eine Reihe typischer Probleme wird vorgeführt und analysiert. Die zu ihrer Lösung eingesetzten (wenig bekannten) Entwurfsmuster vermitteln den Teilnehmern fortgeschrittene Kenntnisse, die im Alltag wertvoll sind.

Weiter zum Vortrag

21.03.2012

In Zeiten ständiger Einbruchsversuche durch gelangweilte Anwender ergibt es Sinn, wirklich immer mit Angriffen aus dem Internet zu rechnen. Auch vermeintlich sichere Strukturen bieten versierten Hackern oft keinen nennenswerten Widerstand. Verantwortungsbewusste Entwickler müssen einfach wissen, wie man der eigenen Anwendung oder Infrastruktur schaden könnte. Der Workshop vermittelt grundlegende Zusammenhänge und zeigt in einer Live Session, was Begriffe wie XSS, CSRF oder SQL-Injection bedeuten, wie man Angreifern das Leben schwer macht und wirksame Lösungen implementiert.

Weiter zum Vortrag

Anwendungen sind im Internet permanent Angreifern ausgesetzt, die Mittel und Wege finden, um Schaden anzurichten. Im Workshop wechseln die Teilnehmer die Seiten und greifen selbst eine Demo-Blackbox-Anwendung an. Sie lernen, wie Angreifer Informationen sammeln, Sicherheitslücken ausnutzen und Server übernehmen. Vermittelt werden Methoden, um Lücken zu finden, sie zu schließen und Angriffe abzufangen. Der abschließende Blick in den Quellcode sensibilisiert für Schwachstellen und zeigt, wie man sie behebt.

Weiter zum Vortrag

Git ist ein mächtiges Versionsverwaltungssystem, mit dem Sie alle Bestandteile Ihrer Software durch alle Änderungen und Versionen zuverlässig verfolgen können. Damit schaffen Sie die Grundlage für die kontinuierliche Integration der Software. Der Workshop vermittelt Grundlagen für den Einsatz von Git, Best Practices und Prozesse für Entwicklung, Release-Management und Deployment, die Ihre Teamarbeit spürbar effektiver machen.

Weiter zum Vortrag

Wer die Qualität seiner Software während der Entwicklung und im Betrieb messen und kontrollieren will, profitiert vom Einrichten einer Umgebung, in der PHP-Projekte kontinuierlich integriert werden können. Mit der Kombination dynamischer und statischer Testverfahren automatisieren Sie wiederkehrende Aufgaben, sind über die Software-Qualität auf dem Laufenden und minimieren Projektrisiken erfolgreich. Der Workshop vermittelt die Grundlagen der kontinuierlichen Integration und Inspektion von PHP-Software. Sie üben Installation, Konfiguration und Betrieb von Jenkins für PHP-Projekte.

Weiter zum Vortrag

Grundlegende Fragen nach der Struktur einer Webanwendung und dem Schreiben von Code, der test-, wart- und erweiterbar ist werden in diesem Workshop am praktischen Beispiel beantwortet. Wichtige Entwurfsmuster und Best Practices werden vorgeführt. Feedback und Fragen der Teilnehmenden steuern den Verlauf der Session. Ziel ist ein besseres Verständnis für die wesentlichen Konzepte von Frameworks.

Weiter zum Vortrag

Nicht-funktionale Aspekte werden in ihrer Bedeutung für technische Entscheidungen oft unterschätzt oder ganz übersehen. Je komplexer die Fragestellungen desto wahrscheinlicher ist es, dass aus diesem Wegschauen Probleme resultieren, die später nicht leicht einzufangen sind. Wer sich vor der Entwicklung Gedanken zur Architektur macht, löst heute Probleme von morgen. Dieser Workshop zeigt verschiedene Architekturmuster für Webanwendungen und geht dabei auf aktuelle Trends wie Distributed Caching, Message Queues und NoSQL ein. Es werden erprobte Bausteine vorgestellt, mit denen hochperformante und skalierbare Webanwendungen in PHP entwickelt werden können.

Weiter zum Vortrag

17.04.2012

Attendees of this session will learn how to implement continuous integration to automate processes for building and deploying regular releases of their PHP-based software. They will also learn how to use Jenkins to monitor and improve their applications through continuous inspection and static code analysis.

Weiter zum Vortrag

08.05.2012

Of course you can reinvent the wheel every day. You just do not have the time to do so, plus it is no fun, and bugs can creep into the same places over and over again. Clever solutions exist for many bread-and-butter problems that only deviate slightly from already solved ones. This workshop shows the programming concepts to achieve this in a live coding session that is entirely driven by the audience's requests and invites to a discussion of tools and techniques.

Weiter zum Vortrag

Programs and websites have errors. Always. They become apparent when users enter wrong, invalid, or unexpected input, when access to the database is suddenly not possible, or when the disk is full. Various approaches to safely handle these and other problems are presented and discussed in this workshop. How to correctly use exceptions, why a custom error handler can be helpful, and what debugging has to do with security — these questions and more will be answered intuitively and vividly.

Weiter zum Vortrag

PHP 5.3 and PHP 5.4 help developers in their daily routine with a plethora of relevant improvements. Get to know the innovative features of these new versions and learn how to apply them in practice. Discover the potential of emerging technologies such as memcached or ZeroMQ and learn how they can solve your problems.

Weiter zum Vortrag

Sooner or later unclean code becomes a damn nuisance. And not only for the developer who has to maintain it. Changes and extensions make the code more and more uneconomic. Learn how to detect unclean code using static analysis and how to refactor it with testability and maintainability in mind. Learn how to avoid unclean code by applying the SOLID principles and writing sustainable code.

Weiter zum Vortrag

This workshop answers the question what object-oriented programming is all about. It gives an introduction to OOP with PHP that goes beyond the known standard examples. In addition to presenting the fundamental principals of OOP it also highlights interesting features of the Standard PHP Library (SPL) and how they can be applied in practice. In addition to imparting factual knowledge the workshop presents a mindset that allows you to avoid overly complicated approaches.

Weiter zum Vortrag

This workshop introduces attendees that are already familiar with the foundations of OOP to advanced topics such as Dependency Injection, abstract classes, and interfaces as well as best practices for successful object-oriented programming. A live coding session makes the presented techniques tangible. In addition to imparting factual knowledge the workshop shows that good solutions are simple solutions: simple objects are easier to reuse and test — and thus help to avoid mistakes.

Weiter zum Vortrag

09.05.2012

XML is the standard language for data exchange on the Web and is concealed from the end user's eyes in many file formats (such as Microsoft Office, for instance). This workshop shows that working with XML can be fun when the transported data is valid and the access leverages efficient APIs. We extend PHP's DOM API with custom methods and implement localization support in PHP during a Live Coding session. The definition of XSD schemas for the validation of XML data as well as the usage of XPath as a query language will be demonstrated. Effective error handling is also a topic.

Weiter zum Vortrag

He who takes a clumsy path towards a solution will get into trouble he does not want to be in. Usually this happens to the detriment of performance and scalability. This workshop shows uses a plethora of real-world examples to show how you can avoid such bottlenecks in current architectures and superstructures from the get-go. It invites to reconsider and adapt your way of thinking.

Weiter zum Vortrag

This workshop imparts the fundamental information and skills for the writing of Unit Tests, Database Integration Tests, Edge-to-Edge Tests, and End-to-End Tests with PHPUnit. You will learn everything you need to know to write, organize, and run tests with PHPUnit.

Weiter zum Vortrag

Craftily leverage PHPUnit: Attendees of this workshop will learn PHPUnit best practices and field-tested strategies for the introduction of testing measures into legacy projects. A range of examples will help the attendees to develop a sense for hard-to-test code and bad tests. They will learn how to refactor legacy code for testability and how to avoid common pitfalls when writing unit tests.

Weiter zum Vortrag

Why reinvent the wheel every time? The developers of this workshop will get to know important design patterns that have proven themselves especially in PHP-based web applications. Problems that commonly occur in practice will be presented and solutions for them will be coded live. Benefits and drawbacks as well as applications and common implementation mistakes will be presented when the standard design patterns are discussed.

Weiter zum Vortrag

The workshop covers topics such as Temporal Patterns, the persisting of objects in relational and NoSQL databases, or Enterprise Integration Patterns. Typical problems are presented and analyzed. The (lesser known) design patterns that are used to solve these problems will provide the attendees with knowledge that is valuable to their daily routine.

Weiter zum Vortrag

10.05.2012

In times of constant break-in attempts by bored users it makes sense to always expect attacks from the Internet. Even allegedly secure structures provide adept hackers with no opposition worth mentioning. Responsible developers just have to know how hackers would attack their application or infrastructure. This workshop imparts fundamental knowledge and demonstrates in a Live Coding session what CSRF, XSS, or SQL Injections are, how you can make the life of attackers harder, and how effective countermeasures can be implemented.

Weiter zum Vortrag

Applications are permanently exposed to attacks on the Internet. Attackers do not rest to contrive means and ways to inflict damage. Attendees of this workshop switch sides and attack a Black Box demo application. They learn how attackers gather information, exploit security holes, and take over servers. The workshop imparts knowledge about finding and closing security issues and how to implement countermeasures to attacks.

Weiter zum Vortrag

Git is a powerful version control system that allows you to reliably manage all changes made to all components (code, configuration, …) of your software. This is the foundation for the continuous integration of your project. This workshop imparts the fundamentals for the usage of Git as well as best practices and processes for the development, release management, and deployment of your software that will make your team noticeable more effective.

Weiter zum Vortrag

When you want to measure and control the quality of your software during development and operation then you can profit from setting up an environment for the continuous integration of your PHP projects. With the combination of dynamic and static testing techniques you automate recurring tasks, stay up-to-date on the state of your software's quality, and minimize risks to your project's success. Attendees of this workshop will learn how to leverage Jenkins for the continuous integration and inspection of their PHP software.

Weiter zum Vortrag

This workshop provides answers to many questions about the structure of web applications and writing testable, maintainable, and extensible code by giving a practical example. Important design patterns and best practices will be demonstrated. Attendee feedback and questions will steer this session. The goal is a better understanding for the main concepts of frameworks.

Weiter zum Vortrag

The importance of non-functional aspects for technical decisions is often underestimated or completely overlooked. The more complex the issue is the more likely it is that ignoring the non-functional aspects will result in problems that cannot be solved easily later on. He who thinks about architecture before development solves tomorrow's problems today. This workshop presents various architectural patterns for web applications and also covers current trends such as Distributed Caching, Message Queues, and NoSQL. It introduces the audience to tried and true building blocks that allow the development of highly performant and scalable web applications with PHP.

Weiter zum Vortrag

03.06.2012

Somehow you met the impossible deadline, your project is online and you now deserve some time to relax. Other than you and me though, the internet does not sleep and your application is under constant risk of attack. Even without having access to the source code, attackers have their ways to break into applications and steal or modify private information. Switch sides for a day and attack the demo blackbox application! Learn how attackers gather information, exploit vulnerabilities and hijack servers – and what to do to stop them.

Weiter zum Vortrag

05.06.2012

No matter if your server runs RedHat Enterprise Linux, CentOS, Debian/Ubuntu or Suse Linux – every linux distribution comes with a package management system (PMS) to automate the process of installing, upgrading, configuring, and removing software packages in a consistent manner ... Yet when deploying PHP based applications many developers fall back to SCP, or even worse FTP. This session will show you how easy it is to create custom packages and make use of the power provided by your PMS to automate deployment.

Weiter zum Vortrag

Many decisions are required when developing software. If we are not sure which path to choose (which is often), we just guess. How about running an A/B test instead, so we can base our decision on empirical data? Why not continuously run A/B tests to increase conversion rates or sales? This presentation introduces how to properly do experiment-driven development in PHP.

Weiter zum Vortrag

Where did Bob live two years ago? And what was his last e-mail address again? If your application needs to keep track of things that change over time, you must take a step beyond normal object relations or foreign keys in a database. This presentation introduces temporal patterns to solve these kinds of problems and shows how to effectively implement them in PHP using the date extension.

Weiter zum Vortrag

06.06.2012

To ensure the high quality of your source code, you of course write (unit) tests and do regular code reviews. Judging the state of security though may seem a lot harder than it is – if you don't know what to look for and where to get started. This talk will introduce you to security audits, why and how tools can assist a manual review and why a mere scanner based approach doesn't work.

Weiter zum Vortrag

16.07.2012

Today's web applications require frequent updates, not just by adding or upgrading features, but by maintaining and improving the software's existing code base as well. This tutorial teaches PHP developers how to use Jenkins, the popular continuous integration server, to monitor various aspects of software quality throughout a project's lifecycle. Attendees of this tutorial will learn how to implement continuous integration to automate processes for building and deploying regular software releases. They will also learn how to use Jenkins to monitor and improve their applications through continuous inspection and static code analysis.

Weiter zum Vortrag

14.08.2012

Drei 20-minütige Überraschungsvorträge zur Einstimmung auf die PHP Unconference.

Weiter zum Vortrag

25.08.2012

When you say "PHP" you mean the programming language PHP. This implicitly refers to the PHP Interpreter that is developed by the PHP project and that can be downloaded from PHP.net. Aside from this reference implementation of PHP there are alternative runtime environments for PHP, such as Facebook's HipHop. This session presents an overview of these alternatives and provides an insight into their feasability for production use.

Weiter zum Vortrag

06.09.2012

Agile methodologies and processes have changed how PHP-based software projects are realized. This session gives an overview on how agility and quality can go hand-in-hand helping to deliver software on time and in budget. Agility does not stop at software development, though, but extends into other realms such as web operations. The audience will learn about some of the core ideas of DevOps, such as "Dark Launches", "Feature Flags" or "Gradual Ramps" that help with implementing continuous deployment strategies.

Weiter zum Vortrag

07.09.2012

Compared to the waterfall model, agile methodologies sound really promising. In theory, at least. But (how) does agile development work in day-to-day practice? What is the impact on development teams, and the business in general? This session presents valuable insights from coaching development teams working in more or less agile environments.

Weiter zum Vortrag

22.09.2012

While PHPUnit is not difficult to set up and writing tests with it is easy, you will get better results and save development time if you know the tips and tricks to leverage PHPUnit more effectively. This session, presented by the creator of PHPUnit, teaches best practices you can use to ensure that your unit testing effort is efficiently implemented.

Weiter zum Vortrag

14.10.2012

The most common environment for PHP based websites today is still the classic LAMP stack. Though, this basic setup does not satisfy the needs in scalability and performance modern web applications require. This session will show you how a modern web stack should look like by leveraging state of the art components and how easy it is to fully automate its setup using the power of virtual machines.

Weiter zum Vortrag

15.10.2012

There, you've done it! Your application is complete, fully tested and now ready to ship. But how to deploy or distribute it? And how to deal with its dependencies? For many years the only platform independent answer would have been a PEAR package. Today though there are many new options and quite powerful alternatives. This session gives you an overview of packaging solutions for PHP.

Weiter zum Vortrag

It is a fact of life for every developer: you have to deal with code that has been written before your time, does not follow state-of-the-art best practices, and — worst of all — is not tested so you cannot safely change or extend it. In this session, the audience will witness the refactoring of fictitious legacy code towards a state that is easy to comprehend, extend, test, and maintain.

Weiter zum Vortrag

While PHPUnit is not difficult to set up and writing tests with it is easy, you will get better results and save development time if you know the tips and tricks to leverage PHPUnit more effectively. This session, presented by the creator of PHPUnit, teaches best practices you can use to ensure that your unit testing effort is efficiently implemented.

Weiter zum Vortrag

16.10.2012

There is legacy code. And there is this brilliant, shiny, almost perfect new architecture, that would make so many things a lot easier. Unfortunately, you just cannot afford to throw away the existing code and start over. Refactoring the old code, on the other hand, often bears unpredictable risks, especially when not enough automated tests exist. This session introduces concepts and strategies to implement bridge technologies to close the gap between old and new code and architectures.

Weiter zum Vortrag

Today, large-scale PHP platforms like Facebook demonstrate strikingly that it is quite possible to build scalable, high-performance web applications with PHP. It does not work out to just use an MVC framework as architecture, though. This session allows a peek into web architectures and technologies that large-scale PHP platforms use, and demonstrates how you can use them in your own projects.

Weiter zum Vortrag

22.10.2012

For many years now the Open Web Application Security Project (OWASP) maintains a Top 10 list of the most critical security flaws in modern web-based applications. Yet, still the same problems can be found over and over again. In this highly interactive workshop we will discuss these common problems not only on the code and implementation level but also on the infrastructure and environment levels. We will analyze an application (that is prepared with "interesting" issues) by looking at its code as well as its environment. We will further discuss the implications of the issues we discover and implement solutions that work.

Weiter zum Vortrag

23.10.2012

While PHPUnit is not difficult to set up and writing tests with it is easy, you will get better results and save development time if you know the tips and tricks to leverage PHPUnit more effectively. This session, presented by the creator of PHPUnit, teaches best practices you can use to ensure that your unit testing effort is efficiently implemented.

Weiter zum Vortrag

It is a fact of life for every developer: you have to deal with code that has been written before your time, that does not follow state-of-the-art best practices, and that — worst of all — is not tested so you cannot safely change or extend it. In this session, the audience will witness the step-by-step refactoring of fictitious legacy code towards a state that is easy to comprehend, extend, test, and maintain.

Weiter zum Vortrag

24.10.2012

When you continuously develop new features and deploy new code to production frequently, quality must not be an afterthought. This presentation will elucidate how agility and quality are connected and what this should mean for the architecture of your software.

Weiter zum Vortrag

You are working under extreme time pressure, have no budget for security testing, and the project keeps growing in size. When you are constantly delivering new features, nobody can expect you to have time to worry about web security. Right? Looking at the most common problems, this talk shows that security does not have to be an expensive, tedious, and time consuming extra task you have to worry about. Done right, it can simply be a part of the architecture as well as the development and deployment processes.

Weiter zum Vortrag

10.12.2012

Natürlich könnte man das Rad jeden Tag neu erfinden. Meist fehlt dafür die Zeit, Spaß macht es auch nicht und Fehler können sich so immer wieder an denselben Stellen einschleichen. Für die vielen alltäglichen Probleme, die nur geringfügig von schon vorhandenen Lösungen abweichen, gibt es clevere Ansätze, die das Leben leichter machen. In einer komplett vom Auditorium gesteuerten Live Session zeigt der Workshop dafür programmatische Konzepte und lädt zur Diskussion über Tools und klassische Fragestellungen ein.

Weiter zum Vortrag

Programme und Webseiten enthalten Fehler. Immer. Sie werden sichtbar, wenn Benutzer falsche, ungültige oder unerwartete Eingaben machen, der Zugriff auf die Datenbank plötzlich unmöglich ist oder die Festplatte überläuft. Um solche und andere Probleme sicher abzufangen, gibt es verschiedene Ansätze, die hier vorgestellt und diskutiert werden. Wie man Exceptions richtig anwendet, warum ein eigener Errorhandler hilfreich ist und dass Debugging viel mit Sicherheit zu tun hat, vermittelt der Workshop lebendig und anschaulich.

Weiter zum Vortrag

PHP 5.3 und PHP 5.4 überzeugen im Programmieralltag durch eine Fülle relevanter Vereinfachungen. Lernen Sie die innovativen Features und geschickte Einsatzmöglichkeiten der neuen Versionen kennen. Entdecken Sie das Lösungspotenzial aktueller Technologien aus dem PHP-Umfeld (memcached, ZeroMQ …) für Ihre Fragestellungen.

Weiter zum Vortrag

Die tägliche Arbeit ist geprägt durch Konfliktpotenzial – bedingt durch unterschiedliche Zielsetzungen anderer Unternehmensteile. Um die Zielkonflikte für beide Seiten zu lösen, lernen die Teilnehmer Kommunikationsstrategien kennen und anwenden. In Übungen werden diese werden praktisch vermittelt.

Weiter zum Vortrag

Der Workshop klärt die Frage, was es mit der objektorientierten Programmierung eigentlich auf sich hat. Jenseits der bekannten Standardbeispiele führt er praktisch in die OOP mit PHP ein. Dabei werden neben den Grundlagen und zentralen Prinzipien der OOP interessante Features beispielsweise aus der Standard PHP Library (SPL) vorgestellt und ihr sinnvoller Praxiseinsatz vorgeführt. Neben Faktenwissen wird eine Denkweise vermittelt, die es erlaubt, unnötig komplizierte Ansätze von vornherein zu umgehen.

Weiter zum Vortrag

Der Workshop zeigt Teilnehmern, die mit den Grundlagen der OOP vertraut sind, fortgeschrittene Techniken wie Dependency Injection, abstrakte Klassen, Interfaces und Best Practices für erfolgreiche OOP. Eine Live-Coding-Session macht den Einsatz der vorgestellten Techniken in der Praxis erfahrbar. Außer Faktenwissen zeigt der Workshop, dass gute Lösungen einfache Lösungen sind: Einfache Objekte sind leichter wieder zu verwenden und vermeiden Fehler.

Weiter zum Vortrag

11.12.2012

XML ist das Standardformat für den Datenaustausch im Web und verbirgt sich in vielen, für Endanwender oft nicht sichtbaren Dateiformaten (z. B. aktuelle MS Office Versionen) und Formen. Der Workshop zeigt, dass XML richtig Spaß machen kann, wenn die übermittelten Daten validiert werden und der Zugriff mit effizienten APIs erfolgt. In der Live Session erweitern wir das DOM-API von PHP um eigene Methoden und unterstützen die Lokalisierung durch PHP. Eigene XSD Schemata zur Validierung werden definiert und der Einsatz von XPath als Abfragesprache vorgeführt. Vermittelt wird auch der Einblick in eine wirklich effektive Fehlerbehandlung.

Weiter zum Vortrag

Um Featureanfragen auf ihre Sinnhaftigkeit prüfen zu können, muss das Geschäftsmodell des entsprechenden Unternehmens bekannt sein. In diesem Workshop lernen die Teilnehmer, konkrete Geschäftsmodelle zu decodieren und mögliche Featureanfragen in diesem Sinne zu bewerten. Diese ermöglicht eine Diskussion auf Augenhöhe mit dem Management um Features und Projektgestaltung.

Weiter zum Vortrag

Der Workshop vermittelt grundlegende Kenntnisse und Fähigkeiten im Einsatz von PHPUnit bei Unit Tests, Datenbank-Interaktionstests, Edge-to-Edge-Tests und End-to-End-Tests. Sie lernen alles, was Sie über das Schreiben, Ausführen und Organisieren von Unit Tests mit PHPUnit beherrschen müssen.

Weiter zum Vortrag

PHPUnit clever einsetzen: Die Teilnehmer lernen die besten Praktiken beim Einsatz von PHPUnit und erprobte Strategien bei der Einführung von Testmaßnahmen an vorhandener Software kennen. Anhand zahlreicher Beispiele entwickeln Sie einen Blick für schlechte Tests und lernen, sie zu verbessern, schwer testbaren Code zu identifizieren und Legacy-Code Schritt für Schritt testbar zu machen.

Weiter zum Vortrag

Warum das Rad jedes Mal neu erfinden? Die Teilnehmer lernen in diesem Workshop wichtige Entwurfsmuster kennen, die sich in PHP-Webanwendungen besonders bewährt haben. Häufig in der Praxis auftretende Schwierigkeiten werden vorgeführt und Lösungen werden live programmiert. Vor- und Nachteile sowie Einsatzmöglichkeiten und typische Fehler bei der Anwendung von Standardmustern werden ausführlich erläutert und diskutiert.

Weiter zum Vortrag

Grundlegende Fragen nach der Struktur einer Webanwendung und dem Schreiben von Code, der test-, wart- und erweiterbar ist werden in diesem Workshop am praktischen Beispiel beantwortet. Wichtige Entwurfsmuster und Best Practices werden vorgeführt. Feedback und Fragen der Teilnehmenden steuern den Verlauf der Session. Ziel ist ein besseres Verständnis für die wesentlichen Konzepte von Frameworks.

Weiter zum Vortrag

12.12.2012

In Zeiten ständiger Einbruchsversuche durch gelangweilte Anwender ergibt es Sinn, wirklich immer mit Angriffen aus dem Internet zu rechnen. Auch vermeintlich sichere Strukturen bieten versierten Hackern oft keinen nennenswerten Widerstand. Verantwortungsbewusste Entwickler müssen einfach wissen, wie man der eigenen Anwendung oder Infrastruktur schaden könnte. Der Workshop vermittelt grundlegende Zusammenhänge und zeigt in einer Live Session, was Begriffe wie XSS, CSRF oder SQL-Injection bedeuten, wie man Angreifern das Leben schwer macht und wirksame Lösungen implementiert.

Weiter zum Vortrag

Anwendungen sind im Internet permanent Angreifern ausgesetzt, die Mittel und Wege finden, um Schaden anzurichten. Im Workshop wechseln die Teilnehmer die Seiten und greifen selbst eine Demo-Blackbox-Anwendung an. Sie lernen, wie Angreifer Informationen sammeln, Sicherheitslücken ausnutzen und Server übernehmen. Vermittelt werden Methoden, um Lücken zu finden, sie zu schließen und Angriffe abzufangen. Der abschließende Blick in den Quellcode sensibilisiert für Schwachstellen und zeigt, wie man sie behebt.

Weiter zum Vortrag

Git ist ein mächtiges Versionsverwaltungssystem, mit dem Sie alle Bestandteile Ihrer Software durch alle Änderungen und Versionen zuverlässig verfolgen können. Damit schaffen Sie die Grundlage für die kontinuierliche Integration der Software. Der Workshop vermittelt Grundlagen für den Einsatz von Git, Best Practices und Prozesse für Entwicklung, Release-Management und Deployment, die Ihre Teamarbeit spürbar effektiver machen.

Weiter zum Vortrag

Wer die Qualität seiner Software während der Entwicklung und im Betrieb messen und kontrollieren will, profitiert vom Einrichten einer Umgebung, in der PHP-Projekte kontinuierlich integriert werden können. Mit der Kombination dynamischer und statischer Testverfahren automatisieren Sie wiederkehrende Aufgaben, sind über die Software-Qualität auf dem Laufenden und minimieren Projektrisiken erfolgreich. Der Workshop vermittelt die Grundlagen der kontinuierlichen Integration und Inspektion von PHP-Software. Sie üben Installation, Konfiguration und Betrieb von Jenkins für PHP-Projekte.

Weiter zum Vortrag

Nicht-funktionale Aspekte werden in ihrer Bedeutung für technische Entscheidungen oft unterschätzt oder ganz übersehen. Je komplexer die Fragestellungen desto wahrscheinlicher ist es, dass aus diesem Wegschauen Probleme resultieren, die später nicht leicht einzufangen sind. Wer sich vor der Entwicklung Gedanken zur Architektur macht, löst heute Probleme von morgen. Dieser Workshop zeigt verschiedene Architekturmuster für Webanwendungen und geht dabei auf aktuelle Trends wie Distributed Caching, Message Queues und NoSQL ein. Es werden erprobte Bausteine vorgestellt, mit denen hochperformante und skalierbare Webanwendungen in PHP entwickelt werden können.

Weiter zum Vortrag