当前位置:首页 > PHP

php 简单框架实现

2026-04-03 04:08:34PHP

PHP 简单框架实现

核心组件

一个简单的 PHP 框架通常包含路由、控制器、模型和视图等核心组件。以下是一个基础实现的示例:

1. 文件结构

/app
  /controllers
    HomeController.php
  /models
    User.php
  /views
    home.php
/public
  index.php
  .htaccess
/vendor
  (依赖库)

2. 入口文件 (public/index.php)

<?php
require __DIR__ . '/../app/bootstrap.php';
$router = new Router();
$router->dispatch();

3. 路由实现 (app/Router.php)

class Router {
    public function dispatch() {
        $uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
        $routes = [
            '/' => 'HomeController@index',
            '/user' => 'UserController@show'
        ];

        if (array_key_exists($uri, $routes)) {
            list($controller, $method) = explode('@', $routes[$uri]);
            $controller = new $controller();
            $controller->$method();
        } else {
            http_response_code(404);
            echo '404 Not Found';
        }
    }
}

4. 控制器示例 (app/controllers/HomeController.php)

class HomeController {
    public function index() {
        $data = ['title' => 'Home Page'];
        require __DIR__ . '/../views/home.php';
    }
}

5. 视图示例 (app/views/home.php)

<!DOCTYPE html>
<html>
<head>
    <title><?= $data['title'] ?></title>
</head>
<body>
    <h1>Welcome to Simple PHP Framework</h1>
</body>
</html>

数据库连接

模型基础类 (app/Model.php)

class Model {
    protected $db;

    public function __construct() {
        $this->db = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
    }
}

自动加载

bootstrap.php

php 简单框架实现

spl_autoload_register(function ($class) {
    $file = __DIR__ . '/' . str_replace('\\', '/', $class) . '.php';
    if (file_exists($file)) {
        require $file;
    }
});

.htaccess 配置

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]

这个简单框架实现了基本的MVC结构,包含路由分发、控制器处理、视图渲染和数据库连接等核心功能。可以根据需要扩展中间件、依赖注入容器等高级特性。

标签: 框架简单
分享给朋友:

相关文章

vue增删改查简单实现

vue增删改查简单实现

Vue 增删改查简单实现 以下是一个基于 Vue 3 的简单增删改查(CRUD)实现示例,使用 Vue 的 Composition API 和响应式数据管理。 初始化项目 确保已安装 Vue…

vue框架实现资讯

vue框架实现资讯

Vue框架实现资讯功能 在Vue框架中实现资讯功能,通常需要结合后端API、前端组件和状态管理。以下是一个典型的实现方案: 数据获取与API交互 使用axios或fetch从后端获取资讯数据: /…

h5可以实现框架功能么

h5可以实现框架功能么

H5实现框架功能的可行性 HTML5(H5)本身是一组标准的网页技术,包括HTML、CSS和JavaScript。虽然H5不直接提供类似传统前端框架(如React、Vue)的完整功能,但可以通过以下方…

vue框架如何实现

vue框架如何实现

Vue框架实现步骤 安装Vue.js 通过npm或CDN引入Vue.js,npm安装命令:npm install vue。CDN引入直接在HTML文件中添加Vue.js的script标签。 创建Vu…

vue实现简单登录

vue实现简单登录

使用 Vue 实现简单登录功能 创建 Vue 项目 确保已安装 Vue CLI,通过以下命令创建新项目: vue create vue-login-demo 选择默认配置或手动配置(如 Babel、…

vue简单代码实现

vue简单代码实现

以下是一个基于 Vue 3 的简单代码实现示例,包含基础功能演示: 基础模板结构 <!DOCTYPE html> <html lang="en"> <head>…