In the past few years, the PHP Zeitgeist seems like it’s been moving in the Neil Peart direction. Lots of work by lots of smart people is going into complex, verbose solutions. Lots of files, lots of nested directories, and lots of rules. No thanks. So I wrote the MicroPHP Manifesto: 1. I am a PHP developer 2. I like building small things 3. I want less code, not more 4. I like simple, readable code Contrary to popular belief, you can still kick ass with PHP using simple, readable code that avoids over-engineering and excessive abstraction. We’ll talk about how to make that happen with lightweight “micro-frameworks” and single-task, no-dependency libraries.
by Paul Jones
When dealing with databases, developers frequently run into the N+1 problem, in which they populate domain objects via queries in loops. This causes terrible performance drags; in the case I will talk about, it took 200,000 queries to populate 40,000 records and 3+ hours to complete. There is a solution in plain PHP that makes the number of queries constant; for the previous example, the the number of queries is reduced to 5 and improves processing time to under 6 minutes. The talk shows typical PHP code involving the N+1 problem, then shows how to solve the problem in plain PHP (that is, without a framework or ORM), and includes editorializing about the origins of the N+1 problem in the developer mindset.
Mention PHP CodeSniffer, and most will think it’s just for style. Add passing PHP CodeSniffer to your test suites, and hear the groans. Why are we wasting time on whitespace rules? Why does it matter that my lines are longer than X characters? The answer: PHP CodeSniffer is more than just style. In this talk we will discuss what sniffs can save you from runtime errors, sniffs that can help you upgrade your PHP install, and sniffs that can help you find the bits of code that are slowing down you and your team.
by Eli White
This talk will focus on XSS, CSRF, Session Hijacking, SQL Injection, and other security issues need addressed in Website Development, and how to close them. This talk will delve into some specific code examples showing where vulnerabilities exist, and how to prevent them.
22nd–25th May 2012