CakePHP - The Road Ahead

M
The Road Ahead
3.4 and the path to 4.0
Present FuturePast
Past
Past 2.x - 3.0.0
Past Upgrading was hard
Past Upgrading was brutal
Past 2.x is still active
Past What did we learn?
Past Difficult upgrades
Fragment the community
Past Stagnation
Big releases take time
Past
PresentPast
Present 3.2.x - 3.4.x
Present Working towards
stronger typing
Splitting up modal methods
$email = new Email();
$email->to(‘mark@example.com')
->from(‘bots@example.com')
->template($template)
->helpers([‘Html’, ‘Emoji’])
->send();
Combined Methods
$email = new Email();
$email->to(‘mark@example.com')
->setFrom(‘bots@example.com')
->setTemplate($template)
->setHelpers([‘Html’, ‘Emoji’])
->send();
Combined Methods
Present PSR7
Adopting community standards
Present Immutability
Request & Response
// $response is unchanged here.
$response->withHeader(‘X-yes’, ‘yes’);
// We need to overwrite $response
$response = $response->withHeader(‘X-yes’, ‘yes’);
Immutability
Present Middleware
Your application as an onion
Present Layers of behavior
Small, focused, and composable
App
Routes
App
Assets
Routes
App
Exceptions
Assets
Routes
App
CORS
Exceptions
Assets
Routes
App
CORS
Exceptions
Assets
Routes
App
CORS
Exceptions
Assets
Routes
App
Request
CORS
Exceptions
Assets
Routes
App
Request
CORS
Exceptions
Assets
Routes
App
Request
Response
CORS
Exceptions
Assets
Routes
App
CORS
Exceptions
Assets
Routes
App
Request
CORS
Exceptions
Assets
Routes
App
Request
CORS
Exceptions
Assets
Routes
App
Request
Response
PresentPast
Present FuturePast
Future 3.5
Future New Middleware
CSRF, Cookies, Authentication
use CakeHttpMiddlewareEncryptedCookiesMiddleware;
$middleware->add(new EncryptedCookiesMiddleware([
[‘remember_me’, ‘secrets’],
Configure::read(‘Cookie.aesKey’)
]));
Cookies
use CakeHttpMiddlewareCsrfProtectionMiddleware;
$middleware->add(new CsrfProtectionMiddleware([
‘expiry’ => 600,
‘httpOnly’ => true
]));
CSRF
Future Routable Middleware
// Register middleware, for use in routing scopes
$routes
->registerMiddleware(‘auth’, new AuthenticationMiddleware(..))
->registerMiddleware(‘cookies’, new EncryptedCookieMiddleware(..));
// Create a routing scope (as you do today)
$routes->scope('/api', function ($routes) {
// Enable middleware
$routes->middleware('csrf', 'cors', 'auth');
$routes->connect('/ping', [‘controller’ => ‘Pings’]);
});
Routable Middleware
Future 3.6 & 4.0
Future 3.6
Backwards compatible
Future Deprecation warnings
Runtime errors for deprecations
Future 4.0.0
Svelte CakePHP 3.x
Future PHP 7.1
No PHP5 support
Future Stricter Typing
Future Interface Updates
Future Deprecation Cleanup
All currently deprecated methods
will be removed.
Future Developer Happiness
Better and earlier errors
CakePHP - The Road Ahead
Late 2017 | Early 2018
Future Long Term Support
Future 2.10
Long Term Support
Future 2.x bugfixes
1 year after 4.0.0
Future 2.x Security fixes
18 months after 4.0.0
Future 3.6
Long Term Support
Future 3.6 bugfixes
18 months after 4.0.0
Future 3.6 Security fixes
3 years after 4.0.0
Past
PresentPast
Present FuturePast
Thank You
Github - markstory
Twitter - mark_story
https://joind.in/talk/b71f6
1 of 64

Recommended

Why Your Test Suite Sucks - PHPCon PL 2015 by
Why Your Test Suite Sucks - PHPCon PL 2015Why Your Test Suite Sucks - PHPCon PL 2015
Why Your Test Suite Sucks - PHPCon PL 2015CiaranMcNulty
1.2K views73 slides
Vision academy classes bcs_bca_bba_sybba_php by
Vision academy  classes bcs_bca_bba_sybba_phpVision academy  classes bcs_bca_bba_sybba_php
Vision academy classes bcs_bca_bba_sybba_phpsachin892777
43 views48 slides
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn... by
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...jaxLondonConference
864 views75 slides
The "Big Data" Ecosystem at LinkedIn by
The "Big Data" Ecosystem at LinkedInThe "Big Data" Ecosystem at LinkedIn
The "Big Data" Ecosystem at LinkedInSam Shah
2.2K views32 slides
Building Ifeedback by
Building IfeedbackBuilding Ifeedback
Building Ifeedbacksanturi
240 views19 slides
L03 Software Design by
L03 Software DesignL03 Software Design
L03 Software DesignÓlafur Andri Ragnarsson
599 views53 slides

More Related Content

More from markstory

Safer, More Helpful CakePHP by
Safer, More Helpful CakePHPSafer, More Helpful CakePHP
Safer, More Helpful CakePHPmarkstory
1.2K views31 slides
Future of HTTP in CakePHP by
Future of HTTP in CakePHPFuture of HTTP in CakePHP
Future of HTTP in CakePHPmarkstory
4.3K views55 slides
CakePHP mistakes made 2015 by
CakePHP mistakes made 2015CakePHP mistakes made 2015
CakePHP mistakes made 2015markstory
1.8K views42 slides
New in cakephp3 by
New in cakephp3New in cakephp3
New in cakephp3markstory
2.1K views44 slides
PHP WTF by
PHP WTFPHP WTF
PHP WTFmarkstory
7.1K views9 slides
CakePHP 3.0 and beyond by
CakePHP 3.0 and beyondCakePHP 3.0 and beyond
CakePHP 3.0 and beyondmarkstory
3K views36 slides

More from markstory(20)

Safer, More Helpful CakePHP by markstory
Safer, More Helpful CakePHPSafer, More Helpful CakePHP
Safer, More Helpful CakePHP
markstory1.2K views
Future of HTTP in CakePHP by markstory
Future of HTTP in CakePHPFuture of HTTP in CakePHP
Future of HTTP in CakePHP
markstory4.3K views
CakePHP mistakes made 2015 by markstory
CakePHP mistakes made 2015CakePHP mistakes made 2015
CakePHP mistakes made 2015
markstory1.8K views
New in cakephp3 by markstory
New in cakephp3New in cakephp3
New in cakephp3
markstory2.1K views
PHP WTF by markstory
PHP WTFPHP WTF
PHP WTF
markstory7.1K views
CakePHP 3.0 and beyond by markstory
CakePHP 3.0 and beyondCakePHP 3.0 and beyond
CakePHP 3.0 and beyond
markstory3K views
CakePHP mistakes made confoo 2015 by markstory
CakePHP mistakes made confoo 2015CakePHP mistakes made confoo 2015
CakePHP mistakes made confoo 2015
markstory943 views
CakePHP mistakes made by markstory
CakePHP mistakes madeCakePHP mistakes made
CakePHP mistakes made
markstory2.8K views
Performance and optimization CakeFest 2014 by markstory
Performance and optimization CakeFest 2014Performance and optimization CakeFest 2014
Performance and optimization CakeFest 2014
markstory1.6K views
Road to CakePHP 3.0 by markstory
Road to CakePHP 3.0Road to CakePHP 3.0
Road to CakePHP 3.0
markstory11.1K views
Performance and optimization by markstory
Performance and optimizationPerformance and optimization
Performance and optimization
markstory2.6K views
OWASP Top 10 2013 by markstory
OWASP Top 10 2013OWASP Top 10 2013
OWASP Top 10 2013
markstory7.6K views
CakePHP the yum & yuck by markstory
CakePHP the yum & yuckCakePHP the yum & yuck
CakePHP the yum & yuck
markstory4.6K views
Introduction to Twig by markstory
Introduction to TwigIntroduction to Twig
Introduction to Twig
markstory7.7K views
Owasp top 10 by markstory
Owasp top 10Owasp top 10
Owasp top 10
markstory9.2K views
Simple search with elastic search by markstory
Simple search with elastic searchSimple search with elastic search
Simple search with elastic search
markstory6.6K views
Making the most of 2.2 by markstory
Making the most of 2.2Making the most of 2.2
Making the most of 2.2
markstory1.2K views
Intro to continuous integration by markstory
Intro to continuous integration Intro to continuous integration
Intro to continuous integration
markstory1.1K views
Evented applications with RabbitMQ and CakePHP by markstory
Evented applications with RabbitMQ and CakePHPEvented applications with RabbitMQ and CakePHP
Evented applications with RabbitMQ and CakePHP
markstory6.4K views
Ch ch-changes cake php2 by markstory
Ch ch-changes cake php2Ch ch-changes cake php2
Ch ch-changes cake php2
markstory2.3K views

Recently uploaded

DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...Deltares
16 views12 slides
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... by
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...HCLSoftware
6 views2 slides
Neo4j y GenAI by
Neo4j y GenAI Neo4j y GenAI
Neo4j y GenAI Neo4j
42 views41 slides
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Donato Onofri
711 views34 slides
SAP FOR TYRE INDUSTRY.pdf by
SAP FOR TYRE INDUSTRY.pdfSAP FOR TYRE INDUSTRY.pdf
SAP FOR TYRE INDUSTRY.pdfVirendra Rai, PMP
23 views3 slides
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the... by
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...Deltares
6 views22 slides

Recently uploaded(20)

DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares16 views
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... by HCLSoftware
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
HCLSoftware6 views
Neo4j y GenAI by Neo4j
Neo4j y GenAI Neo4j y GenAI
Neo4j y GenAI
Neo4j42 views
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by Donato Onofri
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri711 views
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the... by Deltares
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
Deltares6 views
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... by Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 views
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares7 views
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon by Deltares
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
Deltares13 views
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares11 views
A first look at MariaDB 11.x features and ideas on how to use them by Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli45 views
El Arte de lo Possible by Neo4j
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo Possible
Neo4j38 views
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares9 views
Cycleops - Automate deployments on top of bare metal.pptx by Thanassis Parathyras
Cycleops - Automate deployments on top of bare metal.pptxCycleops - Automate deployments on top of bare metal.pptx
Cycleops - Automate deployments on top of bare metal.pptx
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 views
Software evolution understanding: Automatic extraction of software identifier... by Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller36 views
Citi TechTalk Session 2: Kafka Deep Dive by confluent
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
confluent17 views

CakePHP - The Road Ahead