johhnpablo/search-alura-courses
Composer 安装命令:
composer require johhnpablo/search-alura-courses
包简介
Project that seeks PHP courses at Alura
README 文档
README
Este projeto tem como objetivo criar uma aplicação PHP que busca cursos no site da Alura utilizando uma classe CSS específica. Durante o desenvolvimento, adquiri diversos conhecimentos relacionados ao Composer e boas práticas em PHP.
Sumário
- Instalação do Composer
- Tipo Padrão de um Projeto Composer: Library
- Funcionamento do Composer vs Apt/Yum
- Nomenclatura do Projeto
- Gerenciamento de Dependências e Packagist
- Utilização do GuzzleHTTP e DomCrawler do Symfony
- Princípio da Responsabilidade Única
- Autoload no Composer
- PSRs do PHP-FIG
- Classmap no Composer
- Ferramentas de Qualidade de Código em PHP
- Automatização de Scripts no Composer
- Publicação de um Pacote PHP
- Conclusão
Instalação do Composer
Iniciei o projeto aprendendo a instalar o Composer, o gerenciador de dependências padrão para PHP. A instalação correta é fundamental para o gerenciamento eficiente de pacotes e bibliotecas no projeto.
Tipo Padrão de um Projeto Composer: Library
Descobri que o tipo padrão de um projeto no Composer é library. Isso significa que, por padrão, o Composer trata o projeto como uma biblioteca que pode ser compartilhada e reutilizada em outros projetos.
Funcionamento do Composer vs Apt/Yum
Entendi que o Composer funciona de maneira diferente de gerenciadores de pacotes como Apt ou Yum. Enquanto esses gerenciadores instalam dependências globalmente no sistema, o Composer armazena as dependências diretamente no projeto. No entanto, é possível instalar dependências globais se necessário.
Nomenclatura do Projeto
Aprendi sobre a importância da nomenclatura no composer.json. Seguir o padrão vendor/package ajuda na organização e facilita a identificação do pacote no Packagist.
Gerenciamento de Dependências e Packagist
Explorei como gerenciar dependências e buscar pacotes no Packagist, o repositório padrão para o Composer. Isso inclui adicionar, atualizar e remover pacotes conforme as necessidades do projeto.
Utilização do GuzzleHTTP e DomCrawler do Symfony
Implementei o uso do GuzzleHTTP para realizar requisições HTTP de forma eficiente e do DomCrawler do Symfony para navegar e extrair dados do DOM das páginas web.
Princípio da Responsabilidade Única
Estudei o Princípio da Responsabilidade Única (SRP - Single Responsibility Principle), que prega que uma classe deve ter apenas uma única responsabilidade. Isso melhora a manutenibilidade e a clareza do código.
Autoload no Composer
Aprendi sobre o autoload no Composer, que automatiza o carregamento de classes sem a necessidade de require ou include. Isso é configurado no composer.json e segue padrões como PSR-4.
PSRs do PHP-FIG
Conheci as PSRs (PHP Standards Recommendations) do PHP-FIG, que são recomendações de padrões para melhorar a interoperabilidade entre frameworks e bibliotecas em PHP. Algumas PSRs estudadas incluem:
- PSR-1: Padrões básicos de codificação.
- PSR-4: Autoloading de classes baseado em namespaces.
Classmap no Composer
Entendi como utilizar o classmap no Composer para mapear classes que não seguem padrões de autoload, permitindo que o Composer as carregue automaticamente.
Ferramentas de Qualidade de Código em PHP
Explorei ferramentas essenciais para garantir a qualidade do código:
- PHPUnit: Framework para testes unitários.
- PHPCS (PHP CodeSniffer): Análise de conformidade com padrões de codificação.
- PHPStan: Análise estática de código para encontrar erros potenciais.
Automatização de Scripts no Composer
Aprendi a automatizar tarefas utilizando scripts no Composer:
- Adicionar scripts personalizados no
composer.json. - Compor scripts para executar múltiplas tarefas.
- Descrição de scripts para melhor documentação.
- Criar scripts que executam outros scripts.
- Utilizar eventos do Composer para executar scripts automaticamente em determinadas ações.
Publicação de um Pacote PHP
Concluí o projeto publicando um pacote PHP:
- Aprendi sobre versionamento semântico para gerenciar versões do pacote.
- Configurei o binário no
composer.jsonpara permitir a execução de comandos via linha de comando. - Publiquei o pacote no Packagist para compartilhamento com a comunidade.
Conclusão
Este curso proporcionou um aprofundamento significativo no uso do Composer e nas boas práticas de desenvolvimento em PHP. Através da criação deste projeto, desenvolvi habilidades que serão fundamentais para projetos futuros.
johhnpablo/search-alura-courses 适用场景与选型建议
johhnpablo/search-alura-courses 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 10 月 28 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 johhnpablo/search-alura-courses 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 johhnpablo/search-alura-courses 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 9
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2024-10-28