当前位置:首页 > 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 作为应用入口:

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 的核心概念,可以根据需要进一步扩展功能。

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

相关文章

vue框架实现

vue框架实现

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

js多线程如何简单实现

js多线程如何简单实现

JavaScript 多线程的简单实现方法 JavaScript 本身是单线程的,但可以通过 Web Workers 实现多线程操作。Web Workers 允许在后台运行脚本,独立于主线程执行任务。…

vue简单功能实现

vue简单功能实现

Vue 简单功能实现示例 以下是一个基于 Vue 3 的简单计数器功能实现,包含模板、脚本和样式部分: <template> <div class="counter">…

vue 实现简单分页

vue 实现简单分页

Vue 实现简单分页的方法 基础分页组件实现 创建一个基础分页组件,包含页码按钮和翻页功能。以下是一个基于 Vue 3 的示例: <template> <div class="…

基于vue框架实现

基于vue框架实现

基于 Vue 框架实现功能需结合其核心特性(如组件化、响应式数据绑定)和生态工具(如 Vue Router、Pinia)。以下是关键实现步骤和代码示例: 项目初始化与基础配置 使用 Vite 或 V…

vue实现简单的store

vue实现简单的store

Vue 实现简单的 Store 在 Vue 中可以通过多种方式实现简单的状态管理(Store),以下介绍几种常见方法: 使用 Vue 的响应式 API 通过 reactive 或 ref 创建响应式…