当前位置:首页 > PHP

php 简单框架实现

2026-02-13 20:31:23PHP

实现一个简单的 PHP 框架

PHP 框架可以帮助快速构建应用程序,以下是一个基础框架的实现方法,包含路由、控制器和视图功能。

目录结构

/myframework
    /app
        /controllers
            HomeController.php
        /views
            home.php
    /public
        index.php
    /core
        Router.php
        Controller.php

核心路由实现

创建 /core/Router.php 文件处理路由:

class Router {
    protected $routes = [];

    public function addRoute($uri, $controller) {
        $this->routes[$uri] = $controller;
    }

    public function dispatch($uri) {
        if (array_key_exists($uri, $this->routes)) {
            $controllerAction = explode('@', $this->routes[$uri]);
            $controller = $controllerAction[0];
            $method = $controllerAction[1];

            require_once "../app/controllers/$controller.php";
            $controllerInstance = new $controller();
            $controllerInstance->$method();
        } else {
            throw new Exception("No route found for URI: $uri");
        }
    }
}

基础控制器

创建 /core/Controller.php 作为基础控制器:

class Controller {
    protected function view($viewName, $data = []) {
        extract($data);
        require_once "../app/views/$viewName.php";
    }
}

示例控制器

创建 /app/controllers/HomeController.php

class HomeController extends Controller {
    public function index() {
        $data = ['title' => 'Home Page'];
        $this->view('home', $data);
    }
}

视图文件

创建 /app/views/home.php

<!DOCTYPE html>
<html>
<head>
    <title><?php echo $title; ?></title>
</head>
<body>
    <h1>Welcome to <?php echo $title; ?></h1>
</body>
</html>

入口文件

创建 /public/index.php 作为应用入口:

require_once '../core/Router.php';

$router = new Router();
$router->addRoute('/', 'HomeController@index');

$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$router->dispatch($uri);

运行框架

  1. 将项目放在 Web 服务器目录下(如 Apache 的 htdocs)
  2. 配置服务器将请求重定向到 /public/index.php
  3. 访问 http://localhost 即可看到首页

扩展功能建议

  • 添加数据库支持(如 PDO 封装)
  • 实现模型层处理数据
  • 增加中间件支持
  • 添加配置管理
  • 实现自动加载(PSR-4)
  • 增加错误处理机制

这个基础框架实现了 MVC 的核心概念,可以根据需要进一步扩展功能。

php 简单框架实现

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

相关文章

实现 vue 框架

实现 vue 框架

Vue 框架的基本实现 Vue 是一个渐进式 JavaScript 框架,用于构建用户界面。以下是实现 Vue 框架的基本步骤和核心概念。 核心概念 响应式数据绑定 Vue 的核心特性之一是响应式数…

vue框架实现

vue框架实现

Vue 框架实现方法 Vue 是一个渐进式 JavaScript 框架,适用于构建用户界面。以下是一些核心实现方法,涵盖基本使用、组件化、状态管理和优化技巧。 基本项目搭建 使用 Vue CLI…

vue框架实现资讯

vue框架实现资讯

Vue 框架实现资讯功能 在 Vue 框架中实现资讯功能通常涉及以下几个关键步骤: 数据获取与处理 通过 API 或静态数据获取资讯列表,使用 Vue 的 data 或 setup 函数存储资讯数据…

vue实现简单的弹窗

vue实现简单的弹窗

Vue实现简单弹窗的方法 使用v-if和v-show控制显示 通过Vue的指令v-if或v-show可以轻松控制弹窗的显示与隐藏。v-if会完全销毁和重建DOM元素,而v-show仅通过CSS的d…

vue框架实现CRM

vue框架实现CRM

Vue框架实现CRM系统的方法 CRM(客户关系管理)系统需要高效的前端交互和数据管理,Vue框架因其响应式特性和组件化开发优势非常适合此类需求。以下是实现的关键方法: 技术选型与基础搭建 使用V…

简单实现vue github

简单实现vue github

实现 Vue 项目并托管到 GitHub 的步骤 创建 Vue 项目 使用 Vue CLI 快速初始化项目,确保已安装 Node.js 和 npm/yarn。 运行命令: npm init vu…