silm框架初使用

450 查看

silm框架初使用

创建文件夹,例如: mkdir -p ~/www/slim;cd ~/www/slim;
在当前文件夹执行: composer require slim/slim;
新建文件并编写代码: vim index.php

<?php
require 'vendor/autoload.php';
$app = new Slim\App;
$app->get('/',function($request,$rps){
   echo 'hello,world!';
});
$app->run();

使用php内置服务器: php -S 0.0.0.0:1025
浏览器访问: http://0.0.0.0:1025/
如果你得到输出内容为hello,world!,那么恭喜你成功!(?)

Silm的App(入口类)

Slim\App 是Silm框架的入口类。用来注册路由回调
例如要注册一个处理post请求的路由回调可以这么写:

$app->post('/',function($req,$rps){
   echo 'hello,world!';
});

获取请求对象$request

请求对象会被作为路由回调的第一个参数。例如:

<?php
require 'vendor/autoload.php';
$app = new Slim\App;
$app->any('/',function($request,$response){
   echo $request->getMethod();
});
$app->run();

如上例所示,我们可以在回调里直接使用被注入的$request对象
使用$app->any()可以接受任意method的请求
执行:curl http://0.0.0.0:1025/
结果:GET
执行:curl -X POST http://0.0.0.0:1025/
结果:POST
有关Silm请求的详细信息,可以参考Silm请求

如何获取 HTTP 响应对象

响应对象会作为路由回调的第二个参数注入到 Slim 应用程序的路由中

<?php
$app = new \Slim\App;
$app->get('/', function ($request, $response) {
    $response->getBody()->write("Hello!");
    return $response;
});
$app->run();

执行:curl http://0.0.0.0:1025/
结果:Hello!
有关Silm请求的详细信息,可以参考Silm响应