fhooe/router-skeleton

一个示例应用程序或框架,用于入门fhooe/router。

安装: 164

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 4

分支: 0

开放性问题: 0

语言:Twig

类型:项目

v1.0.1 2024-09-11 08:22 UTC

This package is auto-updated.

Last update: 2024-09-11 08:27:08 UTC


README

一个示例应用程序,也称为入门框架fhooe/router:为媒体技术与设计课程开发的简单面向对象的奥地利应用科学大学。此框架及其背后的库主要用于教育目的(学习路由和面向对象原则)。请在自己的风险下使用它。

创建 fhooe/router 应用程序

使用Composer创建包含框架文件的全新项目

composer create-project fhooe/fhooe-router-skeleton path/to/install

Composer将在指定的path/to/install目录中创建项目。

基本用法

路由调用发生在public/index.php。此前端控制器文件接收所有请求,因为相关的.htaccess文件将一切重定向到它。

fhooe/router可以用两种方式使用

使用Router对象(推荐)

  1. 实例化Router类。

    $router = new Router();
  2. 使用get()post()方法定义路由。提供一个URI模式进行匹配,并在模式和协议匹配时执行回调。

    $router->get("/", function() {
        // e.g., load a view
    });
  3. 设置404回调以加载视图或在没有路由匹配时触发行为。

    $router->set404Callback(function() {
        // e.g., load a 404 view
    });
  4. 可选:如果您的应用程序不在服务器文档根目录中,则定义基本路径。

    $router->setBasePath("/path/to/your/files");
  5. 运行路由器。这将获取当前URI,将其与定义的路由匹配,如果找到匹配项则执行它们。

    $router->run();

使用静态路由方法Router::getRoute()

  1. 调用静态方法。如果您的项目不在服务器文档根目录中,请提供基本路径作为参数。该方法以PROTOCOL /pattern的形式返回路由字符串,例如,当对根目录发起GET请求时,返回GET /

    $route = Router::getRoute("/path/to/your/files");
  2. 使用条件表达式来决定对匹配的路由做什么。

    switch($route) {
        case "GET /":
            // e.g., load a view
            break;
        default:
            // e.g., load the 404 view
            break;
    }

显示输出

简单的HTML和PHP格式的视图文件位于views目录中,以及Twig示例,以便输出更清晰。

已添加三个Twig扩展。

  • RouterExtension为模板提供url_for()get_base_path()函数,用于生成URL和从Router对象获取基本路径。
  • SessionExtension提供session(key)函数,用于检索$_SESSION超全局中的条目。
  • DebugExtension提供dump()函数,用于在模板中转储变量(类似于var_dump())。

浏览应用程序

要快速查看,您可以使用PHP内置的Web服务器

cd path/to/install
composer start

在浏览器中导航到https://:8888/以查看应用程序的实际操作。

贡献

如果您想做出贡献,请参阅CONTRIBUTING以获取详细信息。

许可证

fhooe/router-skeleton 使用MIT许可证授权。更多信息请参阅LICENSE