slim苗条入门


备注

本节概述了slim是什么,以及开发人员为什么要使用它。

它还应该提到苗条中的任何大型主题,并链接到相关主题。由于slim的文档是新的,您可能需要创建这些相关主题的初始版本。

版本

描述发布日期
3.8.1 此内容与slim版本3相关 2017年3月19日

从数据库表中获取Json数据(REST API)

use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

require 'vendor/autoload.php';

$app = new \Slim\App;

$app->get('/employee/view', function ($req, $res) {

    $con = new mysqli('localhost','USERNAME','PASSWORD','DATABASE');

    $query = $con->query("SELECT * FROM employee"); 
    while ($row = $query->fetch_assoc()) {
        $data[] = $row;
    }
    return $res->withJson($data); 
});

$app->run();
 

Slim Framework入门

安装或设置Slim框架

  • 安装Composer
  • 打开cmd
  • 转到项目文件夹的根目录并运行以下命令。

作曲家需要苗条/苗条“^ 3.0”

现在,您的项目中将包含供应商目录

接下来在根文件夹中创建Index.php并添加以下代码

<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

require 'vendor/autoload.php';

$app = new \Slim\App;
$app->get('/hello/{name}', function (Request $request, Response $response) {
    $name = $request->getAttribute('name');
    $response->getBody()->write("Hello, $name");

    return $response;
});
$app->run();
 

然后在Localhost上运行Project并尝试使用以下命令

HTTP://localhost/project-root/index.php/hello/any-thing

产量

你好任何东西

你好世界的例子

<?php

include "vendor/autoload.php";

$app = new \Slim\App();

$app->get('/hello', function () {
    echo "Hello, world";
});

$app->run();
 

安装或设置

安装Slim框架的推荐方法是使用composer。

  1. 创建一个空目录

该目录将包含要运行的Slim应用程序所需的所有文件。我们将此目录称为目录,以便我们可以解决与根目录相关的所有其他应用程序文件和目录。

mkdir slim-app
 
  1. 使用composer安装Slim框架及其要求
cd slim-app
composer require slim/slim "^3.0"
 

从现在开始,我们假设这是我们的工作目录。

在作曲家完成下载所需文件后,应该有两个文件composer.jsoncomposer.lock以及一个名为vendor的目录,其中包含作曲家下载的文件。现在我们已准备好创建我们的应用程序。要组织我们的应用程序,我们创建另一个目录

mkdir public
 

我们称之为公共目录,我们将告诉我们的Web服务器从这个目录服务我们的应用程序。

  1. 示例“Hello World”应用程序

要使用Slim,请在公共目录中使用以下代码创建index.php:

公共/ index.php文件

<?php

include "../vendor/autoload.php";

$app = new \Slim\App();

$app->get('/', function ($request, $response, $args) {
    $response->getBody()->write("Hello world!");
});

$app->run();
 
  1. 启动PHP内置服务器

我们现在可以使用PHP内置服务器来提供我们的应用程序:

php -S localhost:8080 -t public
 

并通过在Web浏览器中打开此地址来运行项目:

HTTP://本地主机:8080

产量

你好,世界!

现在配置Web服务器,以便将所有请求传递给此文件:

干净URL的Apache配置(可选)

这不是必需的,但建议苗条项目删除API URL中的index.php。

index.php 所在的同一文件夹中创建.htaccess 。该文件应包含以下代码:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
 

确保您的Apache虚拟主机配置了AllowOverride 选项,以便实际可以使用.htaccess 声明的重写规则:

AllowOverride All
 

Ngnix配置

TBA

与`composer`和@akrabats`Slim-Skeleton`的脚手架骨骼项目

  1. 取决于您是在全局还是本地安装了composer

    • 本地: php composer.phar create-project slim/slim-skeleton {my-app-name}
    • 全球: composer create-project slim/slim-skeleton {my-app-name}
  2. 如果您正在运行Web服务器(例如Apache或nginx),请将虚拟主机文档根目录指向新的应用程序公用文件夹ex。 {my-app-name}/public

  3. 确保logs/ 可由您的Web服务器设置写入。

您还可以在开发模式下运行整个shebang:

  • 本地: php composer.phar start
  • 全球: composer start

图片来源:Rob Allen @akrabat和SlimPHP团队。

PS:我完全不相信。几乎从slimphp / Slim-Skeleton逐字逐句