Sessions at PHP North West 2011 about PHP

Your current filters are…

Saturday 8th October 2011

  • Doctrine 2

    by Juozas Kaziukėnas

    Doctrine is an enterprise object persistence layer for PHP 5.3.2+ that supports persisting PHP objects to relational databases like MySQL, Oracle, etc. and document based storage systems like MongoDB as well.

    Dive in head first with Juozas and learn the Doctrine way in his workshop. From basics to best practices, performance optimization and legacy applications migration.

    At 11:45am to 12:45pm, Saturday 8th October

  • PHP and Continuous Data Processing

    by Michael Peacock

    At Smith Electric Vehicles we process on average 1 billion pieces of information in our PHP based telemetry application. This is the largest vehicle telematics project in the world with the exception of Formula 1. With this information we need to be able to display live vehicle metrics to customers, plot vehicles on maps, trigger alerts when diagnostic flags are raised, process the data to generate reports, and export large volumes of this data for various stake holders, all without losing a single piece of data.

    This talk will discuss some of the technologies and concepts we employed to ensure the system is reliable, fast, and can be maintained without losing data. In particular how we keep the web application running quickly with all of the data behind, how we sustain the huge number of inserts into our database, how we can analyse the data and how we export the data needed for monthly reports.

    At 11:45am to 12:05pm, Saturday 8th October

  • PHP Extensions, Why & What?

    by Derick Rethans

    So you’ve heard that PHP supports extensions. But what are they exactly, what can you do with them, and what *can’t* you do with them? And mostly, why would you or would you not want to spend time writing them?

    This session will introduce you into what PHP extensions are, and what they can do for you. It will cover cases of when it makes sense to write extensions and which things you need to think of when deciding whether you want to put the effort into writing an extension.

    The talk then proceeds with a small introduction to the request cycle and PHP’s memory management. It mentions which parts of PHP you could override and into which parts you can hook. It will also cover things that you cannot do with extensions.

    At 11:45am to 12:45pm, Saturday 8th October

  • PHP Tester's Toolbox

    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 and PHPSpec 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.

    His presentation provides an overview of the goals of each of these tools and shows the first steps to using them in your daily routine.

    At 11:45am to 12:45pm, Saturday 8th October

  • PHP and Twilio

    Twilio is a cloud based infrastructure API which allows developers to create voice and text messaging applications which leverage the phone network, from their application. We will take a fast-paced look at developing voice based services using Twilio and PHP. Rapidly exploring the service and the API we will use it to build a simple inbound phone number to our web application. This can be used to allow customers to phone up and query their account automatically, check the status of outstanding orders, or receive a call as their account or order progresses.

    At Smith Electric Vehicles we used this to rapidly put together a proof-of-concept to allow customers to phone up and geo-locate their trucks, query metrics of the vehicle such as the state of charge, and receive an automated call when the truck left its geo-fenced area.

    At 12:25pm to 12:45pm, Saturday 8th October

  • Deploying PHP Applications With Phing

    by Michiel Rook

    Deploying an application can be tedious and error-prone. Using Phing’s rich set of tasks, easy extension points and simple XML build files to handle the packaging, deploying and testing of your application can help you save time and increase quality. After this talk you will know how to use Phing and how to tailor it to your specific situation. A number of demonstrations will help illustrate transformation, file synchronization, database migration and other real-world use cases.

    At 2:00pm to 3:00pm, Saturday 8th October

  • Varnish Your PHP application, Make It Fly!

    by Alistair Stead

    In his technical presentation Alistair will cover the use of Varnish reverse proxy cache to get the ultimate speed from your php application. With a focus on Magento which has had its performance questioned, he will show how Varnish can help you improve the performance of your application.

    He will look at the setup required to use Varnish to cache application pages and also explore some of the advanced features provided by Varnish such as load balancing and Edge Side Includes ESI. Alistair will explore the things you should consider to make your application compatible with Varnish. Based on benchmarked figures he will show how Varnish can allow you to serve millions of hits an hour from a very small cluster of servers. Showing how php applications can be scaled to host even the biggest and most traffic heavy applications.

    At 2:00pm to 3:00pm, Saturday 8th October

  • Acceptance & Integration Testing Using Behat

    by Ben Waine

    Behat is a behaviour driven development framework for PHP. It can be used to write integration and acceptance tests in a language that non developers can understand. Behat is capable of testing the response from API calls, driving selenium or even testing the output from PHP scripts. It isn’t a replacement to unit testing, but the logical next step to ensure your code plays well with others.

    At SkyBet we have used Behat to streamline the process of defining acceptance criteria, creating acceptance tests and using them to drive our development. Behat co-ordinates our BAs, testers and developers and focuses them on producing the required software in a testable way.

    This talk starts with a brief introduction to behaviour driven development followed by a look at Gherkin, the language used by Behat to write human readable test scenarios. Also included is an overview of how to write ‘steps’: the PHP that powers the testing of scenarios. Finally some ideas are presented on how to display the data gained from running the tests in interesting ways.

    At 3:00pm to 4:00pm, Saturday 8th October

  • Are Your Tests Really Helping?

    by Laura Beth Denker

    Developer testing can reduce debug time, serve as executable documentation, build confidence, expose questionable patterns running rampant in your code, and in general, increase the speed of development and deployment. Tests can also cost you time, sanity, and agility. Laura’s session will not be the same old re-hash of the Misko Hevry talk on testability.

    Instead of a talk that is generic, syntactically translated from Java to PHP, and neglectful the major coding patterns prevalent in existing PHP 5 code bases, all of which results in the majority of the audience as un-sold, she will look at coding and testing patterns inspired by a real PHP project. We will also discuss how to identify patterns and make small adjustments where testing is and is not helping.

    The end result will be a toolbox of habits we can use to improve testability and forward momentum in development.

    At 4:30pm to 5:30pm, Saturday 8th October

    Coverage slide deck

  • CLI, The Other SAPI

    by Thijs Feryn

    Most developers use PHP in a web context and run their code via Apache. The command line interface (CLI) is another approach to run PHP without the overhead of your webserver. This talk will not only illustrate the usage of PHP binary, but also demonstrate some cases for which the CLI is the better tool. Keywords: I/O, forking, signals, configuration, batch tasks, syntax validation, documentation, piping

    At 4:30pm to 5:30pm, Saturday 8th October

  • DocBlox: Your Source Matters

    by Mike van Riel

    Your source tells more about your project than you would probably think. Its structure, inline documentation and attached meta data all form a description, perhaps even a definition. DocBlox analyses your source and converts this into a clearly readable and searchable piece of documentation.

    In this talk Mike not only wants to show you how to do that, but also how to apply your own branding and even manage your own set of tags.

    At 4:30pm to 5:30pm, Saturday 8th October

Sunday 9th October 2011

  • Feeling Secure? Notes From The Field

    by Paul Lemon

    I’ll be sharing our agency experience of developing secure web applications for some of the UK’s leading high street banks and brands with a focus on the pitfalls you face when developing code in PHP. The talk will contain specific details on the many attack vectors that hackers will use to attempt to access and exploit your site and how you can improve your development process to avoid them.

    Topics covered will include some old chestnuts like XSS (Cross Site Scripting) and SQL injection through to issues like XSRF (Cross Site Request Forgery) and Session Hijacking.

    The talk is aimed at developers who have perhaps not truly considered security of their applications before to developers who would like to extend their knowledge. The talk is aimed at software developers and will contain practical code-based examples and solutions.

    At 10:00am to 10:30am, Sunday 9th October

    Coverage slide deck

  • Compiling PHP - Bringing Down Walls & Breaking Through Language Barriers

    by Richard Backhouse

    Phalanger is an open source tools that allows PHP to be compiled down to the .Net CLR. The value of this might not seem immediately obvious but there are real world use cases for how this can be used. Jadu use Phalanger to compile our PHP based CMS to .Net and use C# to create an ASP.Net front-end. This unlikely marriage of technologies combines the power of both languages and opens new opportunities to developers.

    The aim of this talk is to give an account of Jadu’s involvement with the Phalanger project and describe our experiences along the way. How and why should an enterprise content management company use Phalanger? What benefits does it bring? How do developers find working with Phalanger?

    The talk will cover:

    • What is Phalanger and what can you do with it?
    • some history
    • overview of what Phalanger does
    • Why in God’s name would you want to do that?
    • real world use cases
    • Using Phalanger with a pre-existing PHP project
    • How to compile and use existing projects, e.g. phpBB and WordPress
    • Getting down and dirty – mixing .Net and PHP
    • A bridge between .Net and PHP
    • Use a PHP library / system from within .Net

    At 11:30am to 12:30pm, Sunday 9th October

  • Stop Wasting Time By Applying Clean Code Principles

    by Volker Dusch

    Does: “Everything needs to be documented!” sound familiar to you? Do you like the idea?

    This talk aims to make a case for the point that forcing developers to document every single piece of code will not result in good documentation. It will generate superfluous documentation and even impair the code quality!

    It is really easy to write docs for bad code because short and indescribable named functions need to be explained while code that clearly communicates its intentions and actions does not.

    The question discussed include points like:

    • What needs to be explained and what doesn’t?
    • Why is it a good idea to invest time into thinking about class and function names instead of documenting them?
    • What should be included in a commit message?
    • Can we get better and more meaningful documentation by writing less of it?
    • What is the gain of certain documentation concepts?

    Further discussion where documentation is really needed and showing some common documentation “refactoring” patterns. By explaining ideas like “replace comment with function call” and “replace description with variable” the talk aims to save the time of every developer. Spending it once while writing the code and then saving the time of everyone involved by not making them re-read documentation that only tells them what they should already be expecting by reading the class and function names.

    At 11:30am to 12:30pm, Sunday 9th October

    Coverage slide deck

  • Teaching (mostly) PHP

    by Clinton Ingrams

    Clinton teaches students to produce good quality web applications with PHP which has proved to be a greater challenge than any other language paradigm he has taught, due to the wide range of technologies that need to be seamlessly combined, and the added requirement for an awareness of security issues. He currently teaches a final year degree module to students of a wide range of abilities and experience. Some of them have worked as PHP developers, others have some exposure to JSP or .NET, the remainder have C, Java or VB experience, according to their course.

    To this end Clinton has implemented a series of exemplars covering different aspects of the paradigm, which have slowly coalesced into a proto-framework focussed on promoting good practice, at the same time being flexible enough to allow students to develop their own ideas.

    This talk will present the main features of this framework, and also invite ideas/collaborations.

    At 11:30am to 12:30pm, Sunday 9th October

  • Closing Remarks

    At 12:30pm to 12:45pm, Sunday 9th October