当前位置:首页 > 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实现简单弹窗的方法 使用v-if和v-show控制显示 通过Vue的指令v-if或v-show可以轻松控制弹窗的显示与隐藏。v-if会完全销毁和重建DOM元素,而v-show仅通过CSS的di…

jquery框架

jquery框架

jQuery框架简介 jQuery是一个快速、简洁的JavaScript库,简化了HTML文档遍历、事件处理、动画设计和Ajax交互。其核心特点是“写得更少,做得更多”,通过封装常见任务,降低跨浏览器…

如何搭建react框架

如何搭建react框架

安装 Node.js 和 npm 确保系统已安装 Node.js(包含 npm)。可通过官网下载安装包或使用版本管理工具(如 nvm)。安装完成后,运行以下命令验证版本: node -v npm…

vue框架如何实现

vue框架如何实现

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

vue的框架实现

vue的框架实现

Vue 框架实现的核心要素 Vue.js 是一个渐进式 JavaScript 框架,其实现基于响应式数据绑定、组件化系统和虚拟 DOM 技术。以下是实现 Vue 框架的关键技术点: 响应式系统 Vu…

vue修改简单实现

vue修改简单实现

Vue 修改简单实现 在 Vue 中实现简单的修改操作,通常涉及数据绑定、方法调用和响应式更新。以下是几种常见场景的实现方式: 修改数据并更新视图 Vue 的响应式系统会自动追踪数据变化并更新视图。…