Basic Workshop Day 1
Jorge GonzĂĄlez
DESCRIPTION +
- Introduction
- Development environment: Setup
- Creating a project
- Folder structure
- Non-standard setups
- Project configuration
- Changes from 2.x -> 3.x
- Baking a default CRUD
- Controllers
- Request
- Response
The slides are not available yet!
The video is not available yet!
Advanced Workshop Day 1 Part 1
JosĂ© RodrĂguez
DESCRIPTION +
- Quick overview of CakePHP 3.0: A glance on the new features in Cake 3 and the major differences from 2.x. A few tips for getting your apps as much 3.0 ready as possible so they can be migrated.
- Creating the project: We'll be using a virtual machine for getting up and running. We'll also be regularly deploying our progress on a cloud infrastructure.
- Flexible CRUD: Our application will be using dynamic scaffolding, this has the advantage of iterating with new features at a great speed, but we're going to investigate the best options for not losing flexibility in our app.
- Modelling data with the ORM tables.
The slides are not available yet!
The video is not available yet!
Advanced Workshop Day 1 Part 2
JosĂ© RodrĂguez
DESCRIPTION +
- Building a ReST API: This part will show the steps for creating a ReST API with authentication and managing permissions per field on each resource. We'll also be reviewing how to manage access tokens, validations and building an application flow with an API.
- Using entities and virtual properties.
- Authentication and Authorisation
collections and results processing.
- Using dispatcher middleware.
- Using the ORM for Search and Filtering: The new ORM offers great new features for composing complex queries and elaborate finders. We'll be taking advantage of these new possibilities to add advanced filtering to our app.
The slides are not available yet!
The video is not available yet!
Basic Workshop Day 2
Jorge GonzĂĄlez
DESCRIPTION +
- Models
- ORM changes in 3.0
- Query builder
- Tables
- Entities (intro)
- Validation
- Reading data
- Saving data
- Behaviors
- Views
- Helpers
- Html helper
- Form helper
- Other core helpers
- Creating a basic layout
- Elements, Blocks and Cells (intro)
- Unit Testing
- Models
- Mocking
- Controllers
- Caching (intro)
The slides are not available yet!
The video is not available yet!
Advanced Workshop Day 2 Part 1
JosĂ© RodrĂguez
DESCRIPTION +
- Building Layouts with Cells: This part is aimed at showing the power of View Cells and how to properly use them for creating modular layouts.
- Localization: The world is growing smaller and we need to reach people with different languages and in different timezones. This section will focus on adapting your application to serve users in multiple countries.
The slides are not available yet!
The video is not available yet!
Advanced Workshop Day 2 Part 2
JosĂ© RodrĂguez
DESCRIPTION +
- Unit Testing: A good app is no good without tests. This will show the common testing patters in CakePHP and the use of Fixtures, Mocks and automated test execution.
- Logging and Profiling: Gathering data about how your app is performing and running is as important as having features. This part will show how to better structure your code to take advantage of logging and determine possible bottlenecks.
The slides are not available yet!
The video is not available yet!
James Watts
DESCRIPTION +
Overview of the past year and an update on the status of the project and the CakePHP community.
The slides are not available yet!
The video is not available yet!
3.0.0 and beyond
Mark Story
DESCRIPTION +
3.0.0 was an enormous milestone for CakePHP. This talk will be a quick summary of what the core team's plans are beyond 3.0.
Things I'll cover are:
* The roadmap for 3.1
* Release cycles for 3.x
* Our plans for maintaining Cake 2x as well.
The slides are not available yet!
The video is not available yet!
MySQL 5.7
Dave Stokes
DESCRIPTION +
MySQL 5.6 has been our best received release to date and MySQL 5.7 is just around the corner. This session covers big changes in performance, replication, transportable table spaces, security, and administration. There are also some changes like setting the default SQL_MODE to STRICKT that will break some things (cough cough Wordpress) that you need to know before upgrading. Some come learn about all the new changes before you upgrade.
The slides are not available yet!
The video is not available yet!
Sleeping With Snubbers
Jad Bitar
DESCRIPTION +
After a very strict diet until reaching 3.0, CakePHP has lost most (if not all) the bad fat it accumulated as it aged. With it's fresh new looks, libraries that snubbed it in the past have joined it in bed for some ultimate fun. This talk will demonstrate how easy it has become to create CakePHP plugins to integrate with other PHP libraries to speed development and avoid re-inventing the wheel by showcasing a couple plugins already released (i.e. migrations, codeception, whoops, faker, etc.)
The slides are not available yet!
The video is not available yet!
Optimizing CakePHP 2.x apps
Juan Basso
DESCRIPTION +
Tips and tricks for optimizing CakePHP 2.x apps. The presentation will be focused on optimizations related with CakePHP and briefly talk about optimizations on environment and architecture.
The slides are not available yet!
The video is not available yet!
Running a CakePHP App in Different Operating Environments
Brian Porter
DESCRIPTION +
Web applications have to run in multiple environments. Those environments may include developers' local instances, in a staging or quality assurance environment and in production. Even the application's most basic dependencies, such as a database connection, tend to be different in each of these environments. Managing the settings for each of them can become tedious and error prone, especially when source control is involved.
This talk covers how to make your CakePHP app adapt its behavior to the environment in a clean way. The configurations for multiple environments can coexist and inherit from a base config, the configs can all be committed to source control and determining which set to activate can be dependent on whatever environment indicator works best for your app's situation. Also covered are code examples for how to keep the code in your app clean and independent of environment-specific logic, instead encapsulating everything unique about each environment into the configurations.
The slides are not available yet!
The video is not available yet!
Behind the scenes of Real Time Notifications.
Guillermo Mansilla
DESCRIPTION +
In this talk I would like to show how Real Time Apps work from the an architectural point of view, in order for me to show that, I plan to do a quick walk-through over important concepts such as:
The HTTP Protocol, XMLHttpRequest, XHR Polling, Long Polling, HTML5 and Web Sockets.
After explaining those concepts I plan to show an example on how to integrate a CakePHP app with Node.js and Socket.io in order to implement real time notifications.
The slides are not available yet!
The video is not available yet!
Powerful applications with AngularJS
Anna Filina
DESCRIPTION +
Long gone are the days when your Javascript functions were tangled with HTML or when you injected AJAX responses into DIVs. Meet AngularJS, the framework that brings you clean separation between application logic and templates, does the heavy lifting for backend communications, helps with multilingual support and much more. I will help you build better applications with less effort.
The slides are not available yet!
The video is not available yet!
Agile database access with CakePHP 3
JosĂ© RodrĂguez
DESCRIPTION +
CakePHP 3 comes with a brand new ORM, built from scratch to take advantage of advanced SQL features and with the goal of being able to produce complex queries with ease in mind.
This talk will present several real-life examples of data retrieval using the new ORM and will weigh its advantages over using plain SQL or other libraries available in the market
The slides are not available yet!
The video is not available yet!
Beyond PHP : it's not (just) about the code !
Wim Godden
DESCRIPTION +
Most web developers focus on writing code. But creating web applications is about much more than just writing code. Take a step outside the code cocoon and into the big web ecosphere to find out how small code changes can make a world of difference on servers and network. This talk is an eye-opener for developers who spend over 80% of their time coding, debugging and testing.
The slides are not available yet!
The video is not available yet!
Essential Web Security
Eli White
DESCRIPTION +
XSS, CSRF, Session Hijacking, SQL Injection, Click Jacking, and so much more. All security vulnerabilities that you need to understand and address in website development. This talk will cover these concepts in depth to understand them and know how to protect yourself against them. Pure PHP(and JavaScript) solutions will be presented for how to address these so that you will understand the core solutions. Specific code examples will be shown showing what the vulnerabilities look like and how to identify them. It will then present solutions to close them down and protect yourself. Crucial information that every programmer needs to understand.
The slides are not available yet!
The video is not available yet!
How to write your own CakePHP cache engine with automatic failover
David Chancogne
DESCRIPTION +
The talk will focus on 3 main areas:
- How to write your own cache engine in CakePHP
- Exemple of writing a cache engine that uses Redis tree structure functionality to get a more powerful invalidation
- Exemple of a cache engine called FallBack that can leverage 2 existing engine for a better fall back mechanism in case of fail over (of Redis server for instance)
The slides are not available yet!
The video is not available yet!
SIMPLE IS GOOD, COMPLEX IS BAAAD
Mariano Iglesias
DESCRIPTION +
PHP has seen some major improvements in the past decade. The language has moved forward, and the community is now more involved in building tools that can be reutilized without killing kittens in the process (EFF you PEAR). But we are still making it way too difficult. Your average project is filled with unneeded complexity, code that should have never been written, and suffers from countless security issues (it's not JUST about escaping SQL, people!)
This talk deals with the need for simpler, more focused libraries. It's about questioning the tools we use, the frameworks we so dearly love. It's about change, and the things we need to do to move forward.
If you have NO interest in improving your daily work, in making your code more secure, more maintainable, and in the end more focused, then this talk is not for you. But if you are willing to question some established believes, and take the first towards enlightenment, then let's do it together.
The slides are not available yet!
The video is not available yet!
ACL is not missing
Geneller Naranjo
DESCRIPTION +
I'd like to talk about permissions and when ACL is good approach on the subject, most of times ACL is not necessary and a role based permissions map is good enough.
The slides are not available yet!
The video is not available yet!
Phil Sturgeon
DESCRIPTION +
Back in the day, we had PEAR packages. These were often very well written, but due to PEARs lack of popularity we ended up just using mega-frameworks and writing bundles, modules, cells and sparks for that framework. Since then Composer has been a bit of a savior, but the way in which we make these packages is still new and scary.
There are a lot of talks about building good code, and writing OOP well, but how do you make a Composer package that is as high in quality as you can? Things like SemVer, avoiding NIH syndrome verses knowing WHEN to fork or make a new package, responsible deprecation and loads more.
The League of Extraordinary Packages is a group of developers who have banded together to build solid, well tested PHP packages using modern coding standards. The name might be a little silly, but the group dedicates itself to active maintenance, handing over projects when a lead has to step aside, working together and an absolute dedication to following and supporting standards.
The slides are not available yet!
The video is not available yet!