Application Development in Frameworks

« Return

Objectives

Promover competências no âmbito do desenvolvimento de aplicações web em conjunto com um framework que ofereça os conceitos de reuso e de padrões de projeto e desenvolvimento.

Program

1. HTTP protocol
2. Front Controller pattern. MVC Pattern
3. Symfony 4 concepts
3.1. Kernel HTTP
3.2. Composer and packages
3.3. Controllers
3.4. Annotations and Routes
3.5. Configuration
3.6.Dependency Injection
3.7. Auto-Hiring
4. TDD - Test Driven Development
4.1. PHPSpec - unit testing by specification/example
4.2. PHPSpec command line
5. DDD - Domain Driven Design
5.1.Entities and Value Objects
5.2. Aggregates and Root Aggregates
5.3. Repositories
5.4. Specifications
6. ORM - Mapping objects to relational data with Doctrine
6.1. Entity/Table mapping
6.2. Custom data types
6.3. Embedded data
6.4. Doctrine command line
7. CQRS - Command and Query Responsibility Segregation
7.1.Commands and handlers
7.2. Queries
8. Hexagonal application architecture

Teaching Methodologies

Theory classes: use the video projector to share the professor’s computer screen, in order to develop, troubleshoot and fix software (debugging) together with the students.
Laboratory/Practical classes: When teaching theoretical concepts, these will always be applied in laboratories the students will have to go through. The practical classes will be dedicated to work on the laboratories’ exercises and to help the students in any questions or doubts that may arise.

Bibliography

Josh Lockhart Modern PHP: New Features and Good Practices, O'Reilly Media, 2015
Sohail Salehi Mastering Symfony, Packt Publishing, 2016.
Caldarelli, F. Yii2 By Example, Packt Publishing, 2015

Code

0000295

ECTS Credits

6

Classes

  • Aplicação - 55 hours
  • Teórico-Práticas - 22 hours