SlideShare a Scribd company logo
LEARNING CAKEPHP FROM
SOURCE CODE VOL.2
HIDESHI OGOSHI
YNS PHILIPPINES INC.
JUNE-8-2016
QUESTION
Why do you use web framework instead of plain PHP?
Separation of cross-cutting concern
SEPARATION OF CROSS-CUTTING CONCERN
▸ Cross-cutting concerns are aspects of a program that affect
other concerns. These concerns often cannot be cleanly
decomposed from the rest of the system in both the
design and implementation, and can result in either
scattering (code duplication), tangling (significant
dependencies between systems), or both.
▸ Examples: authentication, authorization, caching,
communication, configuration, exception management,
logging, routing, and validation
CORE CONCERN AND CROSS-CUTTING CONCERN
▸ Auditing
▸ There is an enterprise system which requires to record all
the operations by the users for security.
EXAMPLE OF CROSS-CUTTING CONCERN 1
▸ Performance logging
▸ There is a system which requires the high performance in
order to provide higher user experience to the users.
EXAMPLE OF CROSS-CUTTING CONCERN 2
▸ Exception handling
▸ There is a system which requires to handle the exceptions
and write errors in a log file so that the system will be able
to notify system administrators in real time through e-mail.
EXAMPLE OF CROSS-CUTTING CONCERN 3
HOW TO USE EVENT SYSTEM IN CAKEPHP
▸ One of the way to separate cross-cutting concerns in
CakePHP is event system.
▸ The way to handle events is just attach listeners and
dispatch events.
▸ Example: http://martinbean.co.uk/blog/2013/11/22/
getting-to-grips-with-cakephps-events-system/
EVENT SYSTEM USED IN CAKEPHP FRAMEWORK
▸ Controller, Components and Model use the event system.
CLASS DIAGRAM OF CAKEPHP
SEQUENCE DIAGRAM OF CAKEPHP

More Related Content

PDF
Functional requirements and their poor cousins nfr's
PDF
10 Essential Digital Security Processes
PPTX
Node js - Yns
PDF
How to create test data
PPTX
System performance tuning
PPTX
Software Testing
PPTX
Php 7 - YNS
PPTX
Cake PHP 3 Presentaion
Functional requirements and their poor cousins nfr's
10 Essential Digital Security Processes
Node js - Yns
How to create test data
System performance tuning
Software Testing
Php 7 - YNS
Cake PHP 3 Presentaion

Similar to Learning CakePHP2 from source code vol2 (20)

PDF
Event driven application
PPTX
cakephp UDUYKTHA (1)
PDF
Intro to CakePHP
PDF
Why CakePHP Is Superior to Other Web Frameworks! Examine Its Pros & Cons For ...
PDF
CQRS and Event Sourcing with PHP
PDF
CakePHP
PPTX
Cqrs + event sourcing pyxis v2 - en
PPTX
PPT - A slice of cake php
PDF
Web Service and Mobile Integrated Day II
PDF
AvalancheProject2012
PPTX
Cqrs and Event Sourcing Intro For Developers
PPTX
Trusted PHP Development Services in the USA
KEY
CakePHP 2.0 - PHP Matsuri 2011
PDF
Why Use CakePHP Over Other Web Frameworks Explore Pros & Cons.pdf
PDF
Cakephp manual-11
PDF
Opendelight reference-guide
PDF
Cakephp VS CorePHP: Which is Better for Web Development?
PDF
CQRS and Event Sourcing with PHP - shorter version
PPTX
CakeFest 2013 - A-Z REST APIs
PPTX
CakeFest 2013 - A-Z REST APIs
Event driven application
cakephp UDUYKTHA (1)
Intro to CakePHP
Why CakePHP Is Superior to Other Web Frameworks! Examine Its Pros & Cons For ...
CQRS and Event Sourcing with PHP
CakePHP
Cqrs + event sourcing pyxis v2 - en
PPT - A slice of cake php
Web Service and Mobile Integrated Day II
AvalancheProject2012
Cqrs and Event Sourcing Intro For Developers
Trusted PHP Development Services in the USA
CakePHP 2.0 - PHP Matsuri 2011
Why Use CakePHP Over Other Web Frameworks Explore Pros & Cons.pdf
Cakephp manual-11
Opendelight reference-guide
Cakephp VS CorePHP: Which is Better for Web Development?
CQRS and Event Sourcing with PHP - shorter version
CakeFest 2013 - A-Z REST APIs
CakeFest 2013 - A-Z REST APIs
Ad

More from Hideshi Ogoshi (6)

PPTX
Practice on Practical SQL
PDF
Functional programming
PPTX
Learning CakePHP from Source Code
PPTX
Introduction of Monaca
PPTX
Falcon Full Text Search Engine
PPTX
MySQL対応全文検索システムMroonga(むるんが)
Practice on Practical SQL
Functional programming
Learning CakePHP from Source Code
Introduction of Monaca
Falcon Full Text Search Engine
MySQL対応全文検索システムMroonga(むるんが)
Ad

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Machine Learning_overview_presentation.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Approach and Philosophy of On baking technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation theory and applications.pdf
PDF
Electronic commerce courselecture one. Pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
NewMind AI Weekly Chronicles - August'25-Week II
The Rise and Fall of 3GPP – Time for a Sabbatical?
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Spectroscopy.pptx food analysis technology
gpt5_lecture_notes_comprehensive_20250812015547.pdf
sap open course for s4hana steps from ECC to s4
Dropbox Q2 2025 Financial Results & Investor Presentation
Machine learning based COVID-19 study performance prediction
Machine Learning_overview_presentation.pptx
Big Data Technologies - Introduction.pptx
Unlocking AI with Model Context Protocol (MCP)
Encapsulation_ Review paper, used for researhc scholars
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Per capita expenditure prediction using model stacking based on satellite ima...
Approach and Philosophy of On baking technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation theory and applications.pdf
Electronic commerce courselecture one. Pdf

Learning CakePHP2 from source code vol2

  • 1. LEARNING CAKEPHP FROM SOURCE CODE VOL.2 HIDESHI OGOSHI YNS PHILIPPINES INC. JUNE-8-2016
  • 2. QUESTION Why do you use web framework instead of plain PHP? Separation of cross-cutting concern
  • 3. SEPARATION OF CROSS-CUTTING CONCERN ▸ Cross-cutting concerns are aspects of a program that affect other concerns. These concerns often cannot be cleanly decomposed from the rest of the system in both the design and implementation, and can result in either scattering (code duplication), tangling (significant dependencies between systems), or both. ▸ Examples: authentication, authorization, caching, communication, configuration, exception management, logging, routing, and validation
  • 4. CORE CONCERN AND CROSS-CUTTING CONCERN
  • 5. ▸ Auditing ▸ There is an enterprise system which requires to record all the operations by the users for security. EXAMPLE OF CROSS-CUTTING CONCERN 1
  • 6. ▸ Performance logging ▸ There is a system which requires the high performance in order to provide higher user experience to the users. EXAMPLE OF CROSS-CUTTING CONCERN 2
  • 7. ▸ Exception handling ▸ There is a system which requires to handle the exceptions and write errors in a log file so that the system will be able to notify system administrators in real time through e-mail. EXAMPLE OF CROSS-CUTTING CONCERN 3
  • 8. HOW TO USE EVENT SYSTEM IN CAKEPHP ▸ One of the way to separate cross-cutting concerns in CakePHP is event system. ▸ The way to handle events is just attach listeners and dispatch events. ▸ Example: http://martinbean.co.uk/blog/2013/11/22/ getting-to-grips-with-cakephps-events-system/
  • 9. EVENT SYSTEM USED IN CAKEPHP FRAMEWORK ▸ Controller, Components and Model use the event system.
  • 10. CLASS DIAGRAM OF CAKEPHP

Editor's Notes

  • #6: The system saves records consist of user ID, operated date time, kind of operation and how the data was operated such as SQL statement.
  • #7: Every time we find a performance problem, we need to examine how much the system is slow and which part of the system causes the problem.
  • #8: Once the system administrators notice the problems, they will be able to fix it before many users are suffered from it and give up to use the system or complain to the system administrators.