Let’s look at how Microsoft is reducing dramatically all the effort needed to manage complex web applications, their infrastructure, their connected resources. Azure Web Sites is language-neutral PaaS, supporting PHP, Java, Python, Node.js and, of course, .NET.We will take a look at how to easily build a scalable infrastructure, integrating few other services like MySQL, […]
Aruba Cloud is a IaaS solution designed to easily create virtual datacenter ranging from a single machine to more complex structures. Aruba Cloud has every tools to provide you maximum flexibility: multiple hypervisors, multiple operating systems, virtual switch, load balancers. All these building blocks are easily provided by accessible interfaces in order to help our […]
Significant performance improvements, generators, finally statement, the bundled opcache, variadics, constant scalar expressions and many other new and cool things are available in PHP 5.5 and in the upcoming 5.6 release. But what does it all mean? What are we building with our cool toys?
This tutorial will drive you inside PHP’s extension system. Under Linux, we’ll present PHP and its ecosystem, try to understand how it works then move to extensions. After foreseeing existing extensions, and theoretical concepts, we’ll start by making our own. We’ll learn how to enhance the language by adding functions, constants, INI options, classes, play […]
PHP is used by the likes of Facebook, Yahoo, Zynga, Tumblr, Etsy, and Wikipedia. How do the largest internet companies scale PHP to meet their demand? Join this session and find out how to use the latest tools in PHP for developing high performance applications. We’ll take a look at common techniques for scaling PHP […]
PHP was added to the languages offered by Google App Engine about a year ago. This session will focus on porting an existing app on gae. We’ll start talking about the main characteristics of the app engine platform, which kind of services are available (persistence, storage, queue and so on) and how to use it. […]
The Content Management Framework (CMF) is a set of building blocks for content management. You can use just parts of it to add some content management to your Symfony2 project, or use the whole stack to build customized CMS applications for specific needs. In this workshop, we do a hands-on tour through the CMF. We […]
What version of PHP are you running? PHP 5.4? PHP 5.5? PHP 5.3? Most of us lag behind the “new shiny”, but at some point you’ll face both the pain of the upgrade migration and the joy of the new features and performance improvements. Whether it’s your boss or your distro that holds you back, […]
We’ve all experienced performance issues and we would typically turn to a profiler. Whether that’s something in userland, or a tool like xdebug or xhprof, the reason is the same: to figure out why our code is slow. This talk will take that inspection a step further and look under the hood of PHP, at […]
In 1994, the Gang of Four changed the world with their book, Design Patterns. Yet nearly 20 years later, we’re still struggling with design patterns. How can this be? The answer is that design patterns are hard. Designing reusable applications is the most challenging thing a developer can do. But there’s good news: you CAN […]
We’ve all read the textbooks and are using version control systems for our code, but our databases are left out in the cold. Every team has their own workaround, ranging from patch files to SQL snippets in the bugtracker, but none is really robust. There isn’t a silver bullet solution, but this talk will show […]
Traditionally, we create structural models for our applications, and store the state of these models in our databases. But there are alternatives: Event Sourcing is the idea that you can store all the domain events that affect an object, and replay these events to restore the object’s state. This may sound counterintuitive, because of all […]
Mid 2009, Njuskalo.hr was a 2 year old project gaining a lot of traction in local market. Njuskalo is online classifieds platform, similar to https://www.subito.it/. That traction meant that some changes needed to be done so platform was changed and I started working as a PHP developer maintaining this new shiny code. At that time, […]
We all compare and test data on nearly every other line in our code, be it input validation, an if-statement, a switch or determining what to display and how. So of course we are all experts on how to do these tests and comparisons…. Or are we? Come and join in on the Big “Why […]
Forget about classic website where UX is not so important. We are living in time where usability is one of the important thing if you are building some business client oriented web service. In locastic we are working on CRM that is based on Symfony2 as backend and AngularJS as frontend solution. How to connect […]
RESTful API’s are useful when developing a modern web application since it allows for multiple possibilities for collaboration with third-party software as well as multiple types of front-ends, such as mobile apps and HTML5 web applications. The creation of RESTful API’s is facilitated using Laravel 4, a PHP 5.3 Framework that is rapidly growing in […]
Develop a robust RESTful/RPC API for a PHP project is not a simple task. How to manage the error handling? Which format to use for the data exchange? How to manage the content negotiation? What about the versioning? How to build an authentication system? How to produce the API documentation? Apigility is an open source […]
A distributed system composed of multiple applications needs end-to-end testing to make sure the design contracts between the subsystems are respected, and as a form of last safety net to support Continuous Deployment. End-to-end tests are usually a scam due to their slowness and brittleness. Here’s how we wrote fast Behat scenarios that can be […]
OPCache is PHP’s default OPCode cache mechanism, which’s been introduced and freed with PHP5.5 release. You can use it for 5.3, 5.4 or 5.5. This talk will detail how OPCache works, what it does to PHP and how to set it up so that you can deal with maximum performance and stability. We’ll recall how […]
Being a developer in 2014. you can no longer ignore the importance of testing your applications. In tutorials, writing tests is easy and test driven development is piece a cake. In reality, we are usually dealing with bloated applications, legacy code and hand-me-down projects. Codeception makes testing easier and something you want to start doing, […]
An introduction to docker. We’ll discuss what docker is and what it isn’t, comparing it to solutions you might be more familiar with (virtualbox, vmware, etc). Next we’ll see how docker can ease development and deployment of applications with its concept of containers.
In the past editions of the PhpDay we have assisted to several talks about REST APIs and we learned how to implement a proper REST API service. In this talk I want to present how, at Capturator S.r.l., we have added a security layer to our private REST API (based on Symfony 2) adding authentication […]
Greenfield projects are awesome – you can develop highest quality application using best practices on the market. But what if your bread actually is Legacy projects? Does it mean that you need to descend into darkness of QA absence? This talk will show you how to be successful even with the oldest legacy projects out […]
With Vagrant, we can finally forget about the environment and focus on the code, without worrying about the “works on my machine” problem. This talk will review Vagrant basics and focus on its main provisioners – Puppet, Chef and Ansible – giving an overview of each one and how we can use them to provision […]
OpenStack is a free, open-source project that allows anyone to create their own cloud infrastructure. Used by the likes of NASA, CERN, AT&T and Sony, we will be looking at the reasons for its success and how it is emerging as a powerful competitor to Google and AWS. In our deep-dive, we will look at […]
At Etsy, we realized that if we wanted to approach Ilya Grigorik’s challenge of 1000ms time to glass, we would have to stop doing only one thing at a time, and make our servers start working in parallel. This talk will show how we built concurrent processing into our PHP API stack that powers Etsy’s […]
Where does design fit in agile projects? What is refactoring and what isn’t refactoring? What is the relationship between design and refactoring, and design and architecture? In this talk we will clarify these and other questions around emergent design and how a TDD/BDD tool like PhpSpec can help you with the process. We will look […]
Software configuration management tools are gaining ground everywhere. We’ve all probably at least heard of puppet, chef or salt by now, however there’s a new rising star: Ansible. In this talk we’ll learn about the way ansible approaches configuration management, software deployment, remote execution and other general IT tasks. We’ll examine how to get up […]
In this session we will describe the best practices for writing durable apis and PHP: how would you design services that need to be stable, evolvable and easily maintainable for years without the hassle of (too much) refactoring? How do you ensure you pick the correct patterns and technologies that won’t be outdated in the […]
Special closing keynote “Q&A with the speakers”.