wenderds / curso-composer-buscador-cursos-alura
Projeto busca de cursos no site da Alura
Installs: 4
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/wenderds/curso-composer-buscador-cursos-alura
Requires
- guzzlehttp/guzzle: ^7.5
- symfony/css-selector: ^6.2
- symfony/dom-crawler: ^v6.2.0
Requires (Dev)
- phan/phan: ^5.4
- phpunit/phpunit: ^9
- squizlabs/php_codesniffer: *
This package is auto-updated.
Last update: 2022-12-17 21:01:04 UTC
README
Aula-01:
- Composer é um gerenciador de dependências PHP.
- Ele guarda as dependências dentro do projeto.
- Se quisermos uma dependência global, devemos usar o global command .
- Um pacote sempre segue a nomenclatura:
<vendor>/<name>. "vendor == (dominio || empresa)" responsável pelo pacote - As meta-informações de uma dependência ficam salvas no arquivo
composer.json. - O comando
composer initinicializa ocomposer.json.
Aula-02:
- O composer possui um repositório central de pacotes: https://packagist.org/
- É possível configurar repositórios de outras fontes (do github, zip etc)
- O pacotes
guzzlehttp/guzzleserve para executar requisições HTTP de alto nível - Para instalar uma dependência (pacote) basta executar:
composer require <nome do pacote> - Composer guarda as dependências e dependências transitivas na pasta
vendordo projeto - O nome e versão da dependências fica salvo no arquivo
composer.json - O comando
requireadiciona automaticamente a dependência nocomposer.json - O comando
composer installautomaticamente baixa todas as dependências docomposer.lock(ou docomposer.json, caso o.locknão exista ainda) - O arquivo
composer.lockdefine todas as versões exatas instaladas - O composer já gera um arquivo
autoload.phppara facilitar o carregamento das dependências - Basta usar
require vendor/autoload.php
Aula-03:
- Conhecemos a
PSR-4( Autoloader ) - A
PSR-4define um padrão para o carregamento automático de classes - O namespace da classe tem partes:
- O vendor namespace (ou namespace padrão ou namespace prefixo )
- O vendor namespace fica mapeado para uma pasta do projeto dentro do arquivo
composer.json
- O vendor namespace fica mapeado para uma pasta do projeto dentro do arquivo
- Podemos ter um sub-namespace que precisa ser representado através de pastas
- O vendor namespace (ou namespace padrão ou namespace prefixo )
- Para atualizar o arquivo
autoload.phpbaseado nocomposer.json, podemos rodar o comandocomposer dump-autoloadoucomposer dumpautoload - Para classes que não seguem o
PSR-4, podemos definir umclassmapdentro docomposer.json - Para carregar um biblioteca de funções automaticamente, podemos adicionar uma entrada
filesnocomposer.json
Aula-04:
Nessa aula foi falado sobre dependências e ferramentas que não são utilizadas em produção e sim no ambiente de desenvolvimento:
- Através do flag
--devdefinimos que uma dependência não faz parte do ambiente de produção - Caso desejarmos baixar as dependências de "produção" apenas podemos usar o flag
no-dev - Arquivos executáveis fornecidos por componentes instalados pelo composer ficam na pasta
vendor/bin - Conhecemos três ferramentas do mundo PHP:
phpunitpara rodar testes;phpcspara verificar padrões de código;phanpara executar uma análise estática da sintaxe do nosso código.
Aula-05:
- scripts são definidos dentro do
composer.json; - scripts podem definir comandos que chamam ferramentas instaladas pelo Composer;
- scripts podem chamar comandos do sistema operacional;
- scripts podem chamar códigos PHP;
- scripts podem ser associados ao evento.
Aula-06:
- O composer entende as tags de versão de um repositório Git
- O composer segue o conceito do versionamento semântico ( MAJOR . MINOR . PATCH )
- No
composer.jsonpodemos definir constraints (mais detalhes em https://getcomposer.org/doc/articles/versions.md) - Para distribuir e disponibilizar o seu projeto devemos:
- Criar um repositório no Github;
- Usar o packgist e associar com o repositório no Github.
🎉️ 🚀️