class A {
    public function methodA() {
        echo "Method A\n";
    }
}

class B {
    public function methodB() {
        echo "Method B\n";
    }
}

class C extends A, B { // PHP不支持多继承,但可以通过traits实现类似效果
    use TraitA, TraitB;

    public function methodC() {
        echo "Method C\n";
    }
}

trait TraitA {
    public function methodA() {
        echo "Trait A\n";
    }
}

trait TraitB {
    public function methodB() {
        echo "Trait B\n";
    }
}

$obj = new C();
$obj->methodA(); // 输出:Trait A
$obj->methodB(); // 输出:Trait B
$obj->methodC(); // 输出:Method C

PHP中的列表解构用法与注意事项

function getUser() {
    return ['John Doe', 'johndoe@example.com'];
}

list($name, $email) = getUser();

echo "Name: $name\n";
echo "Email: $email\n";

使用PHP内置服务器测试和调试网站

// 在命令行中进入项目根目录
// 启动内置服务器
$ php -S localhost:8000

// 在浏览器中访问 http://localhost:8000

如何用Composer管理PHP项目依赖

// 在项目根目录下创建composer.json文件
{
    "require": {
        "monolog/monolog": "2.3.0"
    }
}

// 安装依赖
$ composer install

// 使用依赖
require 'vendor/autoload.php';
$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$log->addWarning('Foo');