davidjeddy / chicken-challenge
4小时内创建一个不依赖任何外部库或扩展的鸡。
0.1.7.5
2016-11-07 06:54 UTC
Requires
- php: >=5.6.0
- php-school/cli-menu: ^2.0
- phpunit/phpunit: ^5.6
This package is auto-updated.
Last update: 2024-08-29 04:25:31 UTC
README
Chicken Challenge
要求
创建一个PHP类或类,该类实例化一个表示鸡(动物)的对象。你的鸡类应展示对面向对象编程原则的理解,包括但不限于
- 继承
- 封装
- 单一责任。
你的鸡必须在没有任何外部依赖的情况下运行通过PHP解释器。它应遵循PSR-2标准,并包含单元测试。
假设
- PHP、GiT、终端可访问
- Composer可用于生成应用程序类自动加载器
- Composer可用于检查PHP最小要求
- 最小化第三方库使用,不应是演示的核心
徽章
安装
cd {project root}
git clone
虚拟机/容器服务
如果Vagrant可用
vagrant up
vagrant ssh
如果docker可用(非常早期的alpha版本,效果可能因人而异)
docker-compose up --build
docker exec -it chickenchallenge_app_1 bash
apt-get update && apt-get install wget
- 在容器内运行应用程序命令
安装依赖项
wget https://getcomposer.org.cn/composer.phar
php composer.phar install --profile --prefer-dist -o
运行应用程序
更改目录到项目的根目录
php ./index.php
测试
测试需要PHPUnit,最简单的方法是通过composer获取PHPUnit
cd {project root}
wget https://phar.phpunit.de/phpunit.phar
php ./vendor/bin/phpunit ./tests
编码风格
为了确保符合PSR-2标准,偶尔运行以下命令
wget https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
php phpcs.phar --standard=PSR2 --ignore="*/vendor/*","*/sapi/*" --report-diff=./PSR2.diff ./
patch -p0 -ui ./PSR2.diff
自动生成文档
wget http://phpdoc.org/phpDocumentor.phar
php phpDocumentor.phar -p -t ./sapi -d ./src
- 注意:生成继承树的可视化需要GraphViz。