Meet thePHP.cc in October

Fall season is traditionally conference season in the PHP community. This October, you will have the chance to catch all three partners of thePHP.cc -- Sebastian Bergmann, Arne Blankerts, and Stefan Priebsch -- at the following events:

PHP NW Conference 2011

Beware of the dark side, Luke!

Tutorial by Arne Blankerts

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.

PHP Tester's Toolbox

Presentation by Sebastian Bergmann

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.

International PHP Conference 2011

10 Years of PHPUnit

Presentation by Sebastian Bergmann

2011 marks the 10th anniversary of PHPUnit, the de-facto standard for unit testing PHP work. Join Sebastian Bergmann, the tool's creator, in this session for a look at the history of the project, at new features in PHPUnit 3.6, as well as upcoming developments.

PHP Tester's Toolbox

Presentation by Sebastian Bergmann

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.

Security 202: Are you sure your site is secure?

Presentation by Arne Blankerts

Being the good developer that you are, all the applications you create are being designed with security in mind. So of course you are following all the known best practices, you know you did your job well. You did, didn't you?

In this session we will take a look at various common security myths and why quite many approaches, tutorials and common solutions just don't quite cut it. Find out what your options are to really get the job done and what you might have been missing in your current implementation!

Scalable High-Performance Architectures

Presentation by Stefan Priebsch

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.

This way or the other way?

Presentation by Stefan Priebsch

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.

ZendCon 2011

Beware of the dark side, Luke!

Workshop by Arne Blankerts

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.

Design Patterns in Action

Workshop by Stefan Priebsch

Design patterns are proven solutions to common coding problems. You probably even know some design patterns, but can you really apply them in praticse? In this workshop, we will solve some interesting, web-related coding problems using design patterns like Command, State, or Strategy. And while we are at it, we discuss best practices, for example composition over inheritances, single responsibility, and separation of concerns.

No slides will be shown. All code will be written and explained live instead, taking audience questions and feedback into account.

PHP Tester's Toolbox

Presentation by Sebastian Bergmann

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.

Performing Security Audits

Presentation by Arne Blankerts

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 do not 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 does not work.

Change is inevitable (except from a vending machine)

Presentation by Stefan Priebsch

Where did Bob live two years ago? And what was his last email address again? If your application needs to keep track of things that change over time, you must to 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.

We are looking forward to sharing our experience and knowledge with you at these excellent events. See you in October!