`
xieye
  • 浏览: 831400 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

php框架slim使用(2)- 路由中使用控制器类

    博客分类:
  • PHP
阅读更多
常规路由写法:
$app->get('/hello/{name}', function (Request $request, Response $response) {
    $name = $request->getAttribute('name');
    $response->getBody()->write("Hello, $name");

    return $response;
});


假设项目名称和文件夹叫t3

但是我们通常会把程序逻辑写在控制器类中。
首先,修改composer.json
让我们有个放自己程序的类文件的地方。

"autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/",
            "app\\": "src/app/"
        }
}


然后在cmd下,
cd t3
composer install

然后
建立目录,src已存在,建立src\app\control
然后在src\app\control下建立Test.php
<?php

namespace app\control;
// use \Psr\Http\Message\ServerRequestInterface as Request;
// use \Psr\Http\Message\ResponseInterface as Response;
class Test {
   
 public function a1( $req, $res, $args) {
      // 获取 root URI
      echo '$uri = $req->getUri()';
      echo "<br>";
      echo $req->getUri();
      echo "<hr>";
      
      $uri = $req->getUri();
      
      echo '$uri->getScheme()';
      echo "<br>";
      echo $uri->getScheme();
      echo "<br>";
      
      echo '$uri->getAuthority()';
      echo "<br>";
      echo $uri->getAuthority();
      echo "<br>";
      
      echo '$uri->getUserInfo()';
      echo "<br>";
      echo $uri->getUserInfo();
      echo "<br>";
      
      echo '$uri->getHost()';
      echo "<br>";
      echo $uri->getHost();
      echo "<br>";
      
      echo '$uri->getPort()';
      echo "<br>";
      echo $uri->getPort();
      echo "<br>";
      
      echo '$uri->getPath()';
      echo "<br>";
      echo $uri->getPath();
      echo "<br>";
      
      echo '$uri->getBasePath()';
      echo "<br>";
      echo $uri->getBasePath();
      echo "<br>";
      
      echo '$uri->getQuery()';
      echo "<br>";
      echo $uri->getQuery();
      echo "<br>";
      
      echo '$uri->getFragment()';
      echo "<br>";
      echo $uri->getFragment();
      echo "<br>";
      
      echo '$uri->getBaseUrl()';
      echo "<br>";
      echo $uri->getBaseUrl();
      echo "<br>";
      
        return $res;
   }
}


修改 src/routs.php
<?php
$app->get('/home/s',  '\app\control\Test:a1' );


然后,打开浏览器
http://www.t3.com/home/s

分享到:
评论

相关推荐

    Slim-Skeleton-master_slimframework_源码

    路由定义了 URL 请求如何映射到特定的处理函数或控制器。 5. **vendor** 目录:通过 Composer 管理的第三方库存放于此。Slim Framework 本身和其他依赖项都存放在这个目录下。 6. **composer.json**:项目依赖的...

    Laravel开发-slimphp-vanilla

    在本文中,我们将深入探讨如何在Laravel开发环境中结合使用Slim PHP框架和Vanilla ORM,构建一个高效的基础应用程序。"Laravel开发-slimphp-vanilla"项目就是一个很好的示例,它展示了如何在核心中利用Slim PHP的轻...

    PHP简单实现MVC框架路由功能源码

    在实践中,为了提高代码质量,你可能还会考虑使用Composer管理依赖,使用PSR-4标准组织代码,以及使用像Slim或Laravel这样的成熟PHP框架,它们提供了更完善的路由机制和其他附加功能。通过不断学习和实践,你将能够...

    Laravel开发-slim-eloquent

    Laravel的核心特性包括路由、中间件、视图、控制器、表单验证以及一套强大的任务调度系统。它支持依赖注入、单元测试,并且有着丰富的社区和扩展包生态系统。 **Slim框架** 相比之下,Slim是一个轻量级的微框架,...

    Slim是一款PHP微框架可以帮助你快速编写简单但功能强大的web应用和API

    3. **扩展**:根据需要添加自定义中间件、控制器、模型等组件,实现业务逻辑。 4. **部署**:将项目部署到服务器,确保 PHP 环境和 Composer 已安装,然后通过 HTTP 服务器(如 Apache 或 Nginx)配置指向项目的...

    slim-admin-panel:简单的Slim PHP 2管理面板

    1. **Slim PHP 2 框架使用**:学习如何创建路由、定义控制器、处理请求和响应,以及如何使用 Slim 的模板引擎(如 Twig)。 2. **RESTful API 设计**:理解如何使用 Slim 构建符合 REST 原则的 API,以及如何处理 ...

    Salamander快速开发PHP框架基于slim3

    3. **自动化任务**:可能包含命令行工具,用于执行自动化任务,如迁移数据库、生成模型或控制器。 4. **认证与授权**:预配置的用户认证和授权系统,简化了权限控制和会话管理。 5. **错误处理**:增强了错误报告...

    slim-starter-2021:slim 4网站启动器(微型框架)

    2. `src` - 源代码目录,包含应用的主要业务逻辑和控制器。 3. `config` - 配置文件,用于设置Slim应用的各种选项和中间件。 4. `composer.json` - 项目的Composer配置,描述了项目依赖和其他元数据。 5. `.env` - ...

    slim+twig+paris&idiorm 超薄PHP框架 RESTful

    【标题】"slim+twig+paris&idiorm 超薄PHP框架 RESTful" 涉及到的是PHP开发中的几个关键组件和技术概念,它们共同构建了一个轻量级的Web应用程序框架,用于实现RESTful API设计。下面将详细阐述这些知识点。 1. **...

    backend-php-slim:后端en PHP con框架slim

    2. **路由配置**:Slim 使用 `routes.php` 或类似文件定义应用的路由,通过URL映射到特定的控制器方法。 3. **中间件**:Slim 支持中间件,这是一种处理请求和响应的机制,通常用于身份验证、日志记录、错误处理等...

    PHP slim framework 实例程序

    - 使用模板引擎:如Twig,可以加载`templates`目录中的模板文件,并在控制器中传递数据,渲染后返回给客户端。 - 集成中间件:例如,使用`\Slim\Middleware\JwtAuthentication`进行JWT身份验证,确保API的安全性。...

    php mvc 轻量级框架

    2. 创建控制器,定义路由以处理HTTP请求。 3. 编写模型,实现业务逻辑和数据操作。 4. 设计视图,呈现数据到用户界面。 5. 集成数据库和其他服务。 6. 进行调试和测试,优化性能。 总之,PHP MVC框架提供了一种组织...

    slimstarter:一个简单的 php slim 框架启动器

    路由器+控制器在index.php中,可以解耦,更好的组织。 模型在模型文件夹中,你必须在 index.php 中要求它们。 视图是 un views 文件夹,每个问题都有文件夹。 每个控制器都需要视图模板,您可以使用像 twig 这样的...

    slim-restful:苗条PHP微型框架和Python Flask-RESTful扩展思想结合在一起

    描述中的“苗条的”可能指的是PHP的Slim框架,这是一个轻量级的MVC(模型-视图-控制器)框架,设计用于快速开发小型到中型的Web应用。它以简洁、高效的代码著称,适合创建API和简单的Web服务。而"Python Flask-...

    php快速轻量级开发框架

    3. URL路由:轻量级框架通常提供灵活的路由系统,允许开发者根据URL模式映射到不同的控制器和方法。 4. 数据库抽象层:框架通常提供ORM(对象关系映射),如Active Record,使得数据库操作更加简便,支持多种数据库...

    slim-3-doctrine-2:Slim 3和Doctrine 2附带博客文章的示例

    3. **集成**:项目展示了如何将 Doctrine 2 集成到 Slim 3 中,这通常涉及到设置数据库连接、配置 Doctrine、创建实体类、定义数据表映射以及编写控制器来处理业务逻辑。 4. **数据库操作**:使用 Doctrine 2,...

    curso-de-slim-framework-4:Slim Framework 4课程资料

    2. 路由和控制器:学习如何定义路由、编写控制器,以及如何处理HTTP请求和响应。 3. 中间件的使用:理解中间件的工作原理,以及如何编写和使用自定义中间件。 4. 错误处理和调试:了解如何配置错误处理机制,以及...

    Laravel开发-application-bridge-slim

    4. **控制器和视图**:尽管Slim通常不依赖于复杂的MVC结构,但应用桥可能允许开发者使用Laravel的控制器和视图系统,以便充分利用Laravel的模板引擎和视图层次结构。 5. **依赖注入**:Slim框架本身不支持依赖注入...

Global site tag (gtag.js) - Google Analytics