Programação Orientada a Objetos (POO) com PHP - Parte 2

12
Programação Orientada a Objetos (POO) com PHP (Parte 2)

Transcript of Programação Orientada a Objetos (POO) com PHP - Parte 2

Page 1: Programação Orientada a Objetos (POO) com PHP - Parte 2

Programação Orientada a Objetos(POO) com PHP

(Parte 2)

Page 2: Programação Orientada a Objetos (POO) com PHP - Parte 2

Model–View–Controller (MVC) Padrão de arquitetura de software

Page 3: Programação Orientada a Objetos (POO) com PHP - Parte 2

Estrutura de diretórios

- Admin- Api- App- Site- public- public/index.php- composer.json

Page 4: Programação Orientada a Objetos (POO) com PHP - Parte 2

Composer Dependency Manager for PHP

https://getcomposer.org/download/

Page 5: Programação Orientada a Objetos (POO) com PHP - Parte 2

Composer composer create-project foo/bar path 2.2.0 - para criar um projeto apartir de uma dependência

composer install - para instalar a partir do composer.json

composer update - para atualizar dependências

composer self-update - para atualizar o composer

composer require "foo/bar:1.0.0" - para adicionar uma dependência

composer dump-autoload --optimize - antes de colocar o sistema eprodução

Composer Cheat Sheet (http://composer.json.jolicode.com/)

Page 6: Programação Orientada a Objetos (POO) com PHP - Parte 2

PSRs

PHP Standards Recommendations PSR-1: Basic Coding Standard

PSR-2: Coding Style Guide

PSR-3: Logger Interface

PSR-4: Autoloading Standard

PSR-6: Caching Interface

PSR-7: HTTP Message Interface

Page 7: Programação Orientada a Objetos (POO) com PHP - Parte 2

PSRs

PSR-4: Autoloader

http://www.php- g.org/psr/psr-4/

Page 8: Programação Orientada a Objetos (POO) com PHP - Parte 2

PSR-4: Autoloader

1. O termo "class" se refere a classes, interfaces, traits, e outrasestruturas similares;

2. Um nome de classe completamente quali cado tem a seguinteforma: \<NamespaceName>(\<SubNamespaceNames>)*\<ClassName>

O nome da classe totalmente quali cado DEVE ter um nomenamespace de nível superior, também conhecido como um"namespace vendor".

O nome da classe totalmente quali cado PODE ter um ou maisnomes de sub-namespace.

O nome da classe totalmente quali cado DEVE ter um nome declasse de terminação.

Page 9: Programação Orientada a Objetos (POO) com PHP - Parte 2

TODO 1. Criar composer.json

2. Instalar pacotes composer

3. Criar Namespace Vendor

4. Aplicar autoload (PSR-4)

5. Criar os diretórios em Site, Admin e Api

ModelsViewsControllers

6. Criar Route.php em App

Page 10: Programação Orientada a Objetos (POO) com PHP - Parte 2

TODO 7. Adicionar arquvo .htaccess

8. Adicionar pacote vlucas/phpdotenv via composer

9. Refatorar com Bootstrap

10. Iniciando com Views

11. Ajustando entrada de dados nas views

12. Criando classe pai Controller

13. Criando método render

14. Melhorar a aplicação do render

Page 11: Programação Orientada a Objetos (POO) com PHP - Parte 2

TODO 15. Aplicando Template

16. Iniciando com Models

Melhorar o código

Bibliotecas de template

Page 12: Programação Orientada a Objetos (POO) com PHP - Parte 2

Let's get take a cooffe Marp (https://yhatt.github.io/marp/)