Description
You will discover the foundations of object-oriented programming in PHP and learn how to design an "object" application based on UML notation. You will create a website by implementing advanced concepts such as business objects, abstraction layers or design patterns.
Who is this training for ?
For whom ?
Developers wishing to improve the sustainability and maintainability of their developments.
Prerequisites
Good knowledge of procedural PHP or knowledge equivalent to that provided by the course "PHP 7 and 5, developing a dynamic website"
Training objectives
Training program
- Object approach in a Web context
- - Initial expression of needs and requirements.
- - Use cases and simplified unified process.
- - UML: sequence and class diagrams.
- - Presentation of the HMI.
- - Collective reflection Based on specifications, define the objects of the application to be created.
- Basic Concepts of Object Implementation
- - Eclipse: an IDE adapted to OOP in PHP.
- - Define a class and generate it from UML.
- - PHP namespaces.
- - Instantiate a class.
- - Properties, statics and constants: This, Self and ORP.
- - Visibility and protection.
- - Accessors, mutators and overload according to PHP.
- - Constructor and destructor.
- - Master instantiation: Factory and Singleton.
- - Practical work Using UML software, design and generate the participating classes.
- OOP: advanced concepts and contributions of PHP5
- - Object typing and interfaces.
- - The interfaces of the standard library (SPL).
- - Equalities and sorting of objects, Design Pattern Strategy.
- - Reference, cloning, inheritance, aggregation and association.
- - Polymorphism, collections and Design Pattern Iterator.
- - Abstract and final classes.
- - Traits.
- - Practical work Implementation of classes implementing advanced concepts.
- Object persistence
- - Export and auto-serialization.
- - Save to database and session.
- - JSON for asynchronous client requests.
- - Transmission http.
- - Practical work Classes for data persistence.
- - Asynchronous access from an Ajax-XHR interface.
- Refactoring MVC
- - Loading of classes: automatic or configured.
- - ADO classes, model, view.
- - File management.
- - Exceptions: management object-oriented error.
- - Practical work Implementation of the Chain of Responsibility design pattern.
- - Refactoring of the project in MVC.
- Reverse engineering
- - Introspection and Reflection class.
- - PEAR library framework.
- - Documentation tools.
- - XMI and class diagrams.
- - Practical work Generate XMI files for all classes of the project and visualize the UML diagrams.