This session starts with a brief but important overview about the growing Oracle technology eco-system. It shows what Oracle’s direction means for PHP application development and deployment.
The majority of the talk then highlights techniques on building high performance PHP applications with the very widely used Oracle Database. Techniques include connection pooling, application monitoring, automatic data privacy for PHP application users, online application upgrades, caching for performance, and how to suspend and resume database transactions to effectively build stateful web applications.
Jenkins is the best thing Java’s ever done for PHP developers. Jenkins is a continuous integration system that can monitor events (API calls, commits to version-control, etc.), perform jobs, log the results, and (optionally) inform users about successes and failures. Users configure and interact with Jenkins through a graphical dashboard showing the state of all jobs, graphs of running time/success rates, and the health of the Jenkins cluster (if one is in use).
In this tutorial, we’ll learn how to:
- Install and upgrade Jenkins (easy, but here for completeness)
- Use Jenkins to manage every cron job on every machine in a cluster
- Integrate popular PHP unit test systems
- Deploy to a single machine or cluster
- Start jobs from the GUI, post-receive POSTs from GitHub, and polling version-control repositories
- Run Selenium with screencasts of every test archived in Jenkins
session.cookie_lifetime? Have you wrestled with implementing a “Remember Me” button on your login page? Learn how popular sites, such as Twitter and Facebook, keep you logged in (apparently) forever and the security risks of such methods.
As sites grow in complexity, delivering pages to users with sub-second response times becomes an ever-harder challenge. In this presentation, we’ll explore infrastructure and development patterns that allow parallelizing content generation (yes, in PHP!), asynchonously processing longer-running tasks, and integrating content at the edge (both in the user’s browser and in reverse proxies/CDNs).
Most importantly, we’ll focus on lightweight and easy-to-maintain methods that play well with PHP. Here are some specific topics to expect:
- Using Varnish ESIs, nginx SSIs, and smart PHP to cache complex, varying content at the edge
- Distributing the work of generating a page using beanstalkd
- Reintegrating content generated in parallel processes within Varnish and in the user’s browser
- Exploring whether asynchronous support in MySQLi and cURL fit the needs of your application
foreach. These optimizations may help a little, but to truly tackle performance issues, you need to find out if your code is actually slow; understand the code and you will find where you can optimize it. Discover the tools and concepts you need to get your PHP applications up to speed.
Providing an Application Programming Interface (or API) has become a crucial piece of the modern web application. API’s provide opportunities to build the ecosystem around your application, opening doors for collaboration and innovative mashups. However, the API opens up another entry point into your application, requiring that you somehow secure the access to it.
This talk will outline some of the options you have when securing your API. I’ll give overviews and implementation tips on some of the more popular schemes such as OAuth, HTTP authentication, and generating API keys. We’ll also look at some general API best practices such as rate limiting, error handling, and secure data communication.
As developers, there are common design patterns you’ll need to consider in order to successfully move your application to the cloud, no matter which provider you choose. Using Windows Azure as an example, we’ll explore key concerns for scaling web apps, including data persistence, caching, state management, and asynchronous programming. We’ll also examine tradeoffs in complexity, performance, and costs. These are key skills that PHP developers should learn to stay competitive in a cloud-oriented world.