常规路由写法:
$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
分享到:
相关推荐
路由定义了 URL 请求如何映射到特定的处理函数或控制器。 5. **vendor** 目录:通过 Composer 管理的第三方库存放于此。Slim Framework 本身和其他依赖项都存放在这个目录下。 6. **composer.json**:项目依赖的...
在本文中,我们将深入探讨如何在Laravel开发环境中结合使用Slim PHP框架和Vanilla ORM,构建一个高效的基础应用程序。"Laravel开发-slimphp-vanilla"项目就是一个很好的示例,它展示了如何在核心中利用Slim PHP的轻...
在实践中,为了提高代码质量,你可能还会考虑使用Composer管理依赖,使用PSR-4标准组织代码,以及使用像Slim或Laravel这样的成熟PHP框架,它们提供了更完善的路由机制和其他附加功能。通过不断学习和实践,你将能够...
Laravel的核心特性包括路由、中间件、视图、控制器、表单验证以及一套强大的任务调度系统。它支持依赖注入、单元测试,并且有着丰富的社区和扩展包生态系统。 **Slim框架** 相比之下,Slim是一个轻量级的微框架,...
3. **扩展**:根据需要添加自定义中间件、控制器、模型等组件,实现业务逻辑。 4. **部署**:将项目部署到服务器,确保 PHP 环境和 Composer 已安装,然后通过 HTTP 服务器(如 Apache 或 Nginx)配置指向项目的...
1. **Slim PHP 2 框架使用**:学习如何创建路由、定义控制器、处理请求和响应,以及如何使用 Slim 的模板引擎(如 Twig)。 2. **RESTful API 设计**:理解如何使用 Slim 构建符合 REST 原则的 API,以及如何处理 ...
3. **自动化任务**:可能包含命令行工具,用于执行自动化任务,如迁移数据库、生成模型或控制器。 4. **认证与授权**:预配置的用户认证和授权系统,简化了权限控制和会话管理。 5. **错误处理**:增强了错误报告...
2. `src` - 源代码目录,包含应用的主要业务逻辑和控制器。 3. `config` - 配置文件,用于设置Slim应用的各种选项和中间件。 4. `composer.json` - 项目的Composer配置,描述了项目依赖和其他元数据。 5. `.env` - ...
【标题】"slim+twig+paris&idiorm 超薄PHP框架 RESTful" 涉及到的是PHP开发中的几个关键组件和技术概念,它们共同构建了一个轻量级的Web应用程序框架,用于实现RESTful API设计。下面将详细阐述这些知识点。 1. **...
2. **路由配置**:Slim 使用 `routes.php` 或类似文件定义应用的路由,通过URL映射到特定的控制器方法。 3. **中间件**:Slim 支持中间件,这是一种处理请求和响应的机制,通常用于身份验证、日志记录、错误处理等...
- 使用模板引擎:如Twig,可以加载`templates`目录中的模板文件,并在控制器中传递数据,渲染后返回给客户端。 - 集成中间件:例如,使用`\Slim\Middleware\JwtAuthentication`进行JWT身份验证,确保API的安全性。...
2. 创建控制器,定义路由以处理HTTP请求。 3. 编写模型,实现业务逻辑和数据操作。 4. 设计视图,呈现数据到用户界面。 5. 集成数据库和其他服务。 6. 进行调试和测试,优化性能。 总之,PHP MVC框架提供了一种组织...
路由器+控制器在index.php中,可以解耦,更好的组织。 模型在模型文件夹中,你必须在 index.php 中要求它们。 视图是 un views 文件夹,每个问题都有文件夹。 每个控制器都需要视图模板,您可以使用像 twig 这样的...
描述中的“苗条的”可能指的是PHP的Slim框架,这是一个轻量级的MVC(模型-视图-控制器)框架,设计用于快速开发小型到中型的Web应用。它以简洁、高效的代码著称,适合创建API和简单的Web服务。而"Python Flask-...
3. URL路由:轻量级框架通常提供灵活的路由系统,允许开发者根据URL模式映射到不同的控制器和方法。 4. 数据库抽象层:框架通常提供ORM(对象关系映射),如Active Record,使得数据库操作更加简便,支持多种数据库...
3. **集成**:项目展示了如何将 Doctrine 2 集成到 Slim 3 中,这通常涉及到设置数据库连接、配置 Doctrine、创建实体类、定义数据表映射以及编写控制器来处理业务逻辑。 4. **数据库操作**:使用 Doctrine 2,...
2. 路由和控制器:学习如何定义路由、编写控制器,以及如何处理HTTP请求和响应。 3. 中间件的使用:理解中间件的工作原理,以及如何编写和使用自定义中间件。 4. 错误处理和调试:了解如何配置错误处理机制,以及...
4. **控制器和视图**:尽管Slim通常不依赖于复杂的MVC结构,但应用桥可能允许开发者使用Laravel的控制器和视图系统,以便充分利用Laravel的模板引擎和视图层次结构。 5. **依赖注入**:Slim框架本身不支持依赖注入...