wenderds / curso-composer-buscador-cursos-alura
该包已被弃用且不再维护。作者建议使用 curso-composer-buscador-cursos-alura-test 包代替。
Alura 网站上的课程搜索项目
v1.1.0
2022-12-11 21:53 UTC
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 是一个 PHP 依赖管理器。
- 它将依赖项存储在项目内部。
- 如果我们想使用全局依赖项,则必须使用 global 命令。
- 包始终遵循命名约定:
<vendor>/<name>
。 "vendor == (域名 || 公司)" 负责该包 - 依赖项的元信息存储在
composer.json
文件中。 composer init
命令初始化composer.json
。
Aula-02
- Composer 拥有一个中央包仓库:https://packagist.org.cn/
- 可以配置其他来源的仓库(GitHub、zip 等)
guzzlehttp/guzzle
包用于执行高级 HTTP 请求- 要安装依赖项(包),只需执行:
composer require <包名>
- Composer 将依赖项及其传递依赖项存储在项目的
vendor
文件夹中 - 依赖项的名称和版本存储在
composer.json
文件中 require
命令会自动将依赖项添加到composer.json
composer install
命令会自动下载composer.lock
(或composer.json
,如果尚不存在.lock
文件)中的所有依赖项composer.lock
文件定义了安装的所有确切版本- Composer 已生成一个
autoload.php
文件,以简化依赖项的加载 - 只需使用
require vendor/autoload.php
Aula-03
- 我们了解了
PSR-4
(自动加载器) PSR-4
定义了类自动加载的标准- 类的命名空间有部分组成
- vendor 命名空间(或默认命名空间或 命名空间前缀)
- vendor 命名空间在
composer.json
文件中映射到项目的一个文件夹
- vendor 命名空间在
- 我们可以有一个 子命名空间,它需要通过文件夹表示
- vendor 命名空间(或默认命名空间或 命名空间前缀)
- 要基于
composer.json
更新autoload.php
文件,我们可以运行composer dump-autoload
或composer dumpautoload
命令 - 对于不遵循
PSR-4
的类,我们可以在composer.json
中定义一个classmap
- 要自动加载函数库,我们可以在
composer.json
中添加一个files
条目
Aula-04
本节课讲述了依赖项以及只在开发环境中使用而非生产环境中的工具
- 通过
--dev
标志定义依赖项不属于生产环境 - 如果只想下载"生产"环境的依赖,则只能使用
no-dev
标志。 - 由Composer安装的组件提供的可执行文件位于
vendor/bin
文件夹中。 - 我们熟悉PHP世界的三种工具。
phpunit
用于运行测试;phpcs
用于检查代码规范;phan
用于执行代码的静态语法分析。
Aula-05
- 脚本在
composer.json
文件中定义; - 脚本可以定义调用Composer安装的工具的命令;
- 脚本可以调用操作系统命令;
- 脚本可以调用PHP代码;
- 脚本可以与事件关联。
Aula-06
- Composer理解Git仓库的版本标签;
- Composer遵循语义版本控制的概念(MAJOR . MINOR . PATCH);
- 在
composer.json
中我们可以定义constraints(更多详情请见https://getcomposer.org/doc/articles/versions.md) - 为了分发和提供您的项目,我们需要
- 在Github上创建一个仓库;
- 使用packgist并将其与Github上的仓库关联。
🎉️ 🚀️