PHP 怎么PHP Koans

wen PHP项目 2

本文目录导读:

PHP 怎么PHP Koans

  1. 什么是 PHP Koans
  2. 获取 PHP Koans
  3. 运行环境要求
  4. 运行 PHP Koans
  5. Koans 文件结构
  6. 学习流程
  7. 常见主题
  8. 进阶技巧
  9. 常见问题解决
  10. 学习建议

PHP Koans 是一个帮助学习 PHP 的工具,通过一系列有意的"错误"测试来引导你逐步理解 PHP 的核心概念,以下是使用它的完整指南:

什么是 PHP Koans

PHP Koans 是一系列故意写错的 PHP 测试文件,你的任务是修复它们,每个文件都针对特定的 PHP 主题,当你正确修复后,测试就会通过。

获取 PHP Koans

从 GitHub 克隆

git clone https://github.com/CodeComputer/php-koans.git
cd php-koans

使用 Composer

composer create-project codecomputer/php-koans

运行环境要求

  • PHP 5.6+(建议 PHP 7.4+)
  • PHPUnit 5.7+(版本不同可能有差异)

运行 PHP Koans

基础运行

php vendor/bin/phpunit

或者运行特定文件

php vendor/bin/phpunit Koans/03-strings.php

Koans 文件结构

目录结构通常如下:

php-koans/
├── Koans/
│   ├── 01-variables.php
│   ├── 02-arrays.php
│   ├── 03-strings.php
│   ├── 04-functions.php
│   ├── 05-classes.php
│   └── ...
├── vendor/
└── phpunit.xml

学习流程

第一步:查看测试文件

每个文件包含多个测试方法,这些方法故意写错。

public function testStringConcatenation() {
    $string = "Hello" . " " . "World";
    $this->assertEquals("Hello World", $string); // 这行是正确的
}

第二步:修复错误

找到有问题的断言并修复,常见错误包括:

// 错误示例
$this->assertEquals("World", $string); // 实际输出 "Hello World"
// 正确修复
$this->assertEquals("Hello World", $string);

第三步:运行测试

php vendor/bin/phpunit --filter testStringConcatenation

常见主题

PHP Koans 覆盖以下核心主题:

主题 文件示例 学习重点
变量类型 01-variables.php 整数、浮点、布尔、null
数组 02-arrays.php 关联/索引数组、数组操作
字符串 03-strings.php 字符串连接、插值、方法
函数 04-functions.php 参数、返回值、作用域
面向对象 05-classes.php 类、继承、接口、多态
控制结构 06-control-flow.php if/else、循环、switch
异常处理 07-exceptions.php try/catch、自定义异常

进阶技巧

使用过滤运行特定主题

# 只运行数组相关的测试
php vendor/bin/phpunit --filter testArray

查看详细输出

php vendor/bin/phpunit --testdox

调试测试

在测试中添加输出:

public function testMyDebug() {
    var_dump($variable); // 查看变量值
    die(); // 停止执行
    $this->assertEquals($expected, $variable);
}

常见问题解决

问题:找不到 PHPUnit

# 安装依赖
composer install

问题:PHP 版本不兼容

# 更新 PHP 或修改 composer.json 中的版本要求

问题:测试全部失败

检查是否修改了 Koans 目录下的文件权限,或查看是否有语法错误。

学习建议

  1. 按顺序学习:从最小的文件开始,逐步深入
  2. 先阅读再修改:理解每个测试想要验证的概念
  3. 主动思考:尝试预测测试会输出什么,然后验证
  4. 学会阅读错误:从 PHPUnit 的错误信息中获取线索
  5. 组合使用:结合官方文档和 Koans 一起学习

PHP Koans 是一种边做边学的极佳方式,通过修复"错误"来加深对 PHP 的理解,完成所有 Koans 后,你会对 PHP 的核心概念有扎实的掌握。

抱歉,评论功能暂时关闭!