本文目录导读:

我来帮您梳理 PHP 项目从零开始的完整流程:
1️⃣ 环境准备
安装开发环境
选择以下任一方式:
集成环境(推荐新手)
- XAMPP(Windows/Mac/Linux)
- WampServer(Windows)
- MAMP(Mac)
Docker 环境(推荐进阶)
# 使用 docker-compose.yml
version: '3'
services:
php-apache:
image: php:8.2-apache
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
2️⃣ 项目初始化
创建项目目录结构
my-project/
├── public/ # 公开访问目录
│ ├── index.php # 入口文件
│ ├── css/
│ ├── js/
│ └── images/
├── src/ # 源码目录
│ ├── controllers/
│ ├── models/
│ ├── views/
│ └── helpers/
├── config/ # 配置文件
│ ├── app.php
│ └── database.php
├── vendor/ # 依赖包
└── .htaccess # URL重写配置
基础入口文件(public/index.php)
<?php
// 错误显示(开发环境)
ini_set('display_errors', 1);
error_reporting(E_ALL);
// 设置时区
date_default_timezone_set('Asia/Shanghai');
// 加载配置
require_once __DIR__ . '/../config/app.php';
// 自动加载
spl_autoload_register(function ($class) {
$prefix = 'App\\';
$base_dir = __DIR__ . '/../src/';
$len = strlen($prefix);
if (strncmp($prefix, $class, $len) !== 0) {
return;
}
$relative_class = substr($class, $len);
$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
if (file_exists($file)) {
require $file;
}
});
// 简单路由示例
$uri = $_SERVER['REQUEST_URI'];
$method = $_SERVER['REQUEST_METHOD'];
// 根据路由执行对应操作
if ($uri === '/' && $method === 'GET') {
echo "Welcome to PHP Project!";
} else {
http_response_code(404);
echo "404 Not Found";
}
3️⃣ 数据库连接
配置文件(config/database.php)
<?php
return [
'host' => 'localhost',
'database' => 'my_db',
'username' => 'root',
'password' => '',
'charset' => 'utf8mb4',
];
数据库连接(src/Database.php)
<?php
namespace App;
use PDO;
use PDOException;
class Database {
private $connection;
public function __construct() {
$config = require __DIR__ . '/../config/database.php';
try {
$dsn = "mysql:host={$config['host']};dbname={$config['database']};charset={$config['charset']}";
$this->connection = new PDO($dsn, $config['username'], $config['password']);
$this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("Connection failed: " . $e->getMessage());
}
}
public function getConnection() {
return $this->connection;
}
}
4️⃣ 使用 Composer(推荐)
安装 Composer
# Linux/Mac curl -sS https://getcomposer.org/installer | php # Windows 下载安装包 https://getcomposer.org/download/
创建 composer.json
composer init # 或手动创建
{
"name": "my/project",
"description": "My PHP Project",
"type": "project",
"require": {
"php": ">=8.0",
"vlucas/phpdotenv": "^5.5"
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}
使用 .env 环境变量
# .env 文件 DB_HOST=localhost DB_NAME=my_database DB_USER=root DB_PASS=secret APP_ENV=development
<?php // 加载 .env use Dotenv\Dotenv; $dotenv = Dotenv::createImmutable(__DIR__); $dotenv->load(); // 使用环境变量 $dbHost = $_ENV['DB_HOST'];
5️⃣ 使用框架(效率更高)
流行框架选择
Laravel(最流行)
composer create-project laravel/laravel my-app
Symfony(企业级)
composer create-project symfony/skeleton my-app
ThinkPHP(国内常用)
composer create-project topthink/think tp-app
Laravel 项目结构示例
my-app/
├── app/ # 应用核心代码
├── bootstrap/ # 引导文件
├── config/ # 配置文件
├── database/ # 数据库迁移
├── public/ # 公共访问目录
├── resources/ # 视图和资源文件
├── routes/ # 路由文件
├── storage/ # 存储文件
├── tests/ # 测试文件
└── vendor/ # 依赖包
Laravel 快速创建功能
# 创建控制器 php artisan make:controller UserController # 创建模型 php artisan make:model User # 创建迁移文件 php artisan make:migration create_users_table # 运行迁移 php artisan migrate # 创建中间件 php artisan make:middleware AuthMiddleware
6️⃣ 开发实用技巧
调试工具
<?php // 打印变量 var_dump($variable); print_r($array); // 使用 Xdebug(配置文件) xdebug.mode=debug xdebug.start_with_request=yes
日志记录
<?php
// 自定义日志函数
function write_log($message, $level = 'INFO') {
$logFile = __DIR__ . '/../logs/app.log';
$timestamp = date('Y-m-d H:i:s');
$logMessage = "[{$timestamp}] [{$level}] {$message}" . PHP_EOL;
file_put_contents($logFile, $logMessage, FILE_APPEND | LOCK_EX);
}
// 使用
write_log('User logged in', 'INFO');
7️⃣ 项目启动
使用 PHP 内置服务器
# 切换到项目目录 cd my-project/public # 启动服务器 php -S localhost:8080 # 指定文档根目录 php -S localhost:8080 -t public
使用框架开发服务器(Laravel)
php artisan serve # 访问 http://localhost:8000
📋 快速启动模板
创建以下 start.sh 脚本一键初始化:
#!/bin/bash
# 创建项目目录
mkdir -p my-project/{public,src/{controllers,models,views},config}
# 创建基本文件
cat > public/index.php <<EOF
<?php
echo "Hello, PHP!";
EOF
cat > config/app.php <<EOF
<?php
return [
'name' => 'My PHP App',
'version' => '1.0.0',
];
EOF
# 初始化 Composer
composer init -n --require=php:">=8.0"
echo "✅ Project created successfully!"
echo "Run: cd my-project && php -S localhost:8080 -t public"
🎯 建议学习路径
- 新手入门:从 XAMPP + 纯 PHP 开始
- 进阶提升:学习 Composer + MVC 设计模式
- 生产开发:使用 Laravel 或 Symfony 框架
- 工程化:加入测试、CI/CD、Docker 部署
选择最适合您当前阶段的方法开始吧!有其他具体问题随时问我。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播