本文目录导读:

在 PHP 中,项目管理通常涉及多个方面,从代码依赖管理、环境配置到任务调度和团队协作,这里分几个层面来系统讲解:
依赖管理(Composer)
Composer 是 PHP 最核心的包管理工具,相当于 Node.js 的 npm。
基本命令
# 初始化项目 composer init # 安装依赖(根据 composer.json) composer install # 添加新依赖 composer require laravel/framework composer require --dev phpunit/phpunit # 更新依赖 composer update # 查看已安装包 composer show
关键文件
composer.json:声明依赖和项目信息composer.lock:锁定精确版本,保证团队一致性
环境配置管理
推荐工具
- Vagrant:虚拟机环境统一
- Docker:容器化环境(目前最流行)
- PHP 版本管理:
phpenv或phpbrew
Docker 示例(docker-compose.yml)
version: '3.8'
services:
php:
image: php:8.2-fpm
volumes:
- ./:/var/www/html
working_dir: /var/www/html
command: php -S 0.0.0.0:8000
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: secret
使用 .env 管理配置
# .env 文件(不提交到 Git) DB_HOST=localhost DB_PORT=3306 APP_ENV=development # 使用 dotenv 库加载 composer require vlucas/phpdotenv
项目结构规范
推荐采用分层架构:
project/
├── app/ # 应用核心代码
│ ├── Controllers/
│ ├── Models/
│ └── Services/
├── config/ # 配置文件
├── database/ # 数据库迁移和种子
├── public/ # Web 根目录
│ └── index.php
├── resources/ # 视图、语言文件
├── routes/ # 路由定义
├── tests/ # 测试文件
├── vendor/ # Composer 依赖(不提交 Git)
├── .env # 环境配置
├── composer.json
└── README.md
代码质量工具
PHP_CodeSniffer(代码规范检查)
composer require --dev squizlabs/php_codesniffer # 检查代码 vendor/bin/phpcs app/ # 自动修复 vendor/bin/phpcbf app/
PHPStan(静态分析)
composer require --dev phpstan/phpstan vendor/bin/phpstan analyse src --level=5
PHPUnit(单元测试)
composer require --dev phpunit/phpunit vendor/bin/phpunit
自动化部署(CI/CD)
GitHub Actions 示例(.github/workflows/ci.yml)
name: PHP CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
- name: Install dependencies
run: composer install --no-interaction
- name: Run tests
run: vendor/bin/phpunit
团队协作工具
Git 工作流程
# 功能分支开发 git checkout -b feature/user-auth # 开发完成后合并 git checkout main git merge feature/user-auth
代码审查配置(Git Hooks)
# pre-commit 钩子
cat > .git/hooks/pre-commit << 'EOF'
#!/bin/bash
vendor/bin/phpcs app/
if [ $? -ne 0 ]; then
echo "代码规范检查失败"
exit 1
fi
EOF
chmod +x .git/hooks/pre-commit
常用项目管理框架
轻量级选择
- Laravel:最流行,功能全面
- Symfony:企业级,组件化
- Phalcon:性能高,C 语言扩展
微服务/API 选择
- Lumen(Laravel 精简版)
- Slim:极简框架
性能监控与调试
# Xdebug 调试配置(php.ini) xdebug.mode=debug xdebug.start_with_request=yes # 命令行调试 php -dxdebug.mode=debug script.php
性能工具
- Blackfire:Profiling
- Tideways:APM 监控
- Laravel Telescope:调试助手
文档管理
# PHPDoc 注释示例
/**
* 获取用户信息
*
* @param int $id 用户ID
* @return array 用户数据
* @throws Exception 当用户不存在时
*/
public function getUser(int $id): array
{
// 实现代码
}
最佳实践清单
- 版本控制:所有代码必须入 Git
- 依赖锁定:提交
composer.lock - 环境隔离:使用 Docker 统一环境
- 代码规范:统一使用 PSR-12
- 持续集成:每次提交自动运行测试
- 文档同步:更新代码同步更新 README
- 安全审计:定期运行
composer audit - 日志记录:统一使用 Monolog
快速启动一个项目
# 创建项目 composer create-project laravel/laravel my-project cd my-project # 配置环境 cp .env.example .env php artisan key:generate # 数据库迁移 php artisan migrate # 启动开发服务器 php artisan serve
常用工具速查表
| 需求 | 工具 |
|---|---|
| 包管理 | Composer |
| 环境管理 | Docker + docker-compose |
| 测试 | PHPUnit / Pest |
| 代码检查 | PHPStan / Psalm |
| 代码风格 | PHP-CS-Fixer |
| CI/CD | GitHub Actions / GitLab CI |
| 错误监控 | Sentry / Rollbar |
| 性能分析 | Blackfire / Xdebug |
如果遇到具体问题,可以告诉我:
- 项目规模多大?
- 团队人数?
- 部署环境?
我可以针对性地给出更详细方案!