以下是一个简单的PHP三层框架的实例,包括表现层、业务逻辑层和数据访问层。
表现层(Presentation Layer)
表现层主要负责与用户交互,显示数据和接收用户输入。

| 类名 | 方法 | 描述 |
|---|---|---|
| IndexController | display() | 显示首页内容 |
| UserController | login() | 显示登录表单 |
| UserController | loginSubmit() | 处理登录提交 |
业务逻辑层(Business Logic Layer)
业务逻辑层处理业务规则,如用户认证、数据验证等。
| 类名 | 方法 | 描述 |
|---|---|---|
| AuthManager | authenticate() | 验证用户登录 |
| UserManager | validateUserInput() | 验证用户输入 |
数据访问层(Data Access Layer)
数据访问层负责与数据库交互,获取和存储数据。
| 类名 | 方法 | 描述 |
|---|---|---|
| Database | connect() | 连接到数据库 |
| Database | query() | 执行SQL查询 |
| Database | execute() | 执行SQL更新/删除 |
实例代码
以下是一个简单的用户登录功能的实现:
IndexController.php
```php
class IndexController {
public function display() {
include 'views/index.php';
}
}
// 调用控制器显示首页
$indexController = new IndexController();
$indexController->display();
```
UserController.php
```php
class UserController {
public function login() {
include 'views/login.php';
}
public function loginSubmit() {
$username = $_POST['username'];
$password = $_POST['password'];
$userManager = new UserManager();
$user = $userManager->validateUserInput($username, $password);
if ($user) {
$authManager = new AuthManager();
$isAuthenticated = $authManager->authenticate($user);
if ($isAuthenticated) {
// 登录成功,跳转到首页
header('Location: index.php');
} else {
// 登录失败,显示错误消息
include 'views/login.php';
}
} else {
// 用户输入验证失败,显示错误消息
include 'views/login.php';
}
}
}
```
UserManager.php
```php
class UserManager {
public function validateUserInput($username, $password) {
// 验证用户输入
// ...
return $user;
}
}
```
AuthManager.php
```php
class AuthManager {
public function authenticate($user) {
// 验证用户
// ...
return $isAuthenticated;
}
}
```
Database.php
```php
class Database {
private $connection;
public function connect() {
// 连接到数据库
// ...
$this->connection = $connection;
}
public function query($sql) {
// 执行SQL查询
// ...
return $result;
}
public function execute($sql) {
// 执行SQL更新/删除
// ...
return $result;
}
}
```
以上是一个简单的PHP三层框架实例,实际项目中可能需要更复杂的实现。希望这个实例能帮助你理解PHP三层框架的设计与实现。







