mclkim/kaiser

PHP的Kaiser框架

v2.0.0 2019-12-15 07:46 UTC

This package is auto-updated.

Last update: 2024-08-28 13:11:36 UTC


README

Kaiser是一个PHP简单框架,帮助您快速编写简单的Web应用程序和API。

描述

这是一个通过在Slim框架中添加RoutingMiddleware创建的框架。所有功能都在Slim框架平台上运行。

<?php
use Mcl\Kaiser\Middleware\AuthMiddleware;
use Mcl\Kaiser\Middleware\RoutingMiddleware;
use Mcl\Kaiser\Middleware\SessionMiddleware;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;

require __DIR__ . '/../vendor/autoload.php';

$app = AppFactory::create();

$app->get('/hello/{name}', function (Request $request, Response $response, array $args) {
    $name = $args['name'];
    $response->getBody()->write("Hello, $name");
    return $response;
});

//TODO::mclkim
$route = new RoutingMiddleware($app->getContainer(), __DIR__ . '/../app');
if ($route = $route()) {
    $app->map($route['methods'], $route['pattern'], $route['handler'])
        ->add(new SessionMiddleware())
        ->add(new AuthMiddleware($route['callable']));
}

$app->run();

先决条件

PHP

$ php -v
PHP 7.3.8 (cli) (built: Jul 30 2019 12:44:06) ( ZTS MSVC15 (Visual C++ 2017) x64
 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.8, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.8, Copyright (c) 1999-2018, by Zend Technologies

Composer

$ composer -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.9.1 2019-11-01 17:20:17

1.安装

首先,在命令行中,创建工作目录

$ mkdir homepage
$ cd homepage

并需要必要的库

$ composer require mclkim/kaiser

2.本地开发示例复制

以下是一个工作示例。

$ cp -rf vendor/mclkim/kaiser/example/* .

3.网页浏览器

您可以使用public/index.php示例来测试框架。您可以使用以下命令使用PHP的内部Web服务器运行演示

$ php -S localhost:8000 -t public public/index.php

... 并将您的浏览器指向https://:8000/

https://:8000/
https://:8000/hello/world
https://:8000/hello.world?p1=1&p2=2&p3=3

参考

MIT许可下发布