mayron1806/express_php

基于 Express (Node.js) 语法构建的 PHP 路由管理器

v1.1.0 2022-01-11 23:12 UTC

This package is auto-updated.

Last update: 2024-09-12 20:23:56 UTC


README

基于 Express (Node.js) 语法构建的 PHP 路由管理器。

安装

要安装,请在您的终端中粘贴以下代码(请确保您的计算机上已安装 composer)。

composer require mayron1806/express_php

如何使用

要使用,需要配置您的控制器。为此,请按照以下步骤操作。

  • 将您的项目命名空间添加到 composer.json 中的自动加载。
{
    "autoload": {
        "psr-4": {
            "MyApp\\" : "MyApp/"
        }
    }
}
  • 在项目根目录下创建一个用于接收项目命名空间的文件夹,并在其中创建一个名为 "controllers" 的文件夹。您的控制器将放置在这个文件夹中,它们将负责处理每个路由的页面。
  • 之后,在 "controllers" 文件夹中创建一个名为 "IndexController.php" 的文件,并在其中放置以下代码。
<?php
    namespace MyApp\Controllers;

    class IndexController{
        public function index(){
            echo "Olá mundo!";
        }
    }
  • 完成以上步骤后,是时候创建我们的主脚本 "index.php" 了,它将位于项目根目录。在其中的代码如下。
<?php
    require_once __DIR__. "/vendor/autoload.php";
    use ExpressPHP\Express\Express;
    
    $app = new Express("MyApp\\Controllers\\");

    $app->addRoute(route: "/", controller: "IndexController", action: "index",is_default_route: true);

    $app->listen();
  • 现在,只需启动一个 PHP 服务器,见证魔法的发生。

ExpressPHP 的工作原理

ExpressPHP 主要使用一个名为 Express 的类。

Express 类

这是主类,基本上是 ExpressPHP 的核心,其中包含了 5 个方法,它们是:

  • setControllersPath:接收一个包含项目命名空间路径的字符串。
  • getUrl:返回当前访问的 URL 路径。
  • addRoute:向 Express 添加路由。
  • listen:基本上负责调用将启动服务的方法。
  • run:它启动服务。当调用 "run" 时,它将当前 URL 与定义的路由进行比较,如果找到与当前 URL 匹配的路由,则执行该路由;如果没有找到,则执行默认路由。

除了这个类之外,还有一个名为 "Route" 的类,它是一个具有路由属性的对象。以下是其属性列表。

要求

PHP 8.0 或更高版本。