定制 devvime/kiichi-php-engine 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

devvime/kiichi-php-engine

最新稳定版本:1.7.0

Composer 安装命令:

composer require devvime/kiichi-php-engine

包简介

Simple Package PHP for developing web API`s with Kiichi PHP.

README 文档

README

Simple Package PHP for developing web API`s with Kiichi PHP.

Specifications and Dependencies

install package

Run the composer command in project root:

composer require devvime/kiichi-php-engine

Configuration

<?php

require_once(__DIR__.'vendor/autoload.php');

use Devvime\Kiichi\Engine\Router;

$router = new Router();

Creating routes

Route and Function

$router->get('/', function($req, $res) {
    $res->json(['title'=>'Simple CRUD PHP']);
});

Route and Class

Folder structure for using classes

├── src
|  ├── Controllers
│  |  └── ProductController.php
|  |── Models
│  |  └── Product.php
|  |── Middlewares
│  |  └── ExempleMiddleware.php

Class name must contain the word Controller, for example: UserController.php

$router->get('/:id', 'UserController@find');

Group of routes and parameters in URL

$router->group('/hello', function() use($router) {
    $router->get('/:name', function($req, $res) {
        $res->render('html-file-name', [
            "name"=>$req->params->name            
        ]);
    });
});

$router->group('/user', function() use($router) {
    $router->get('', 'UserController@index');
    $router->get('/:id', 'UserController@find');
    $router->post('', 'UserController@store');
    $router->put('/:id', 'UserController@update');
    $router->delete('/:id', 'UserController@destroy');
});

Route and Middleware

Middleware Class name must contain the word Middleware, for example: AuthMiddleware.php

// Middleware in  Function
$router->get('/:id', 'UserController@find', function() {
    // Middleware code...
});

// Middleware in Class
$router->get('/:id', 'UserController@find', 'UserMiddleware@verifyAuthToken');

// Middleware Function in Route Group

$router->group('/user', function() use($router) {
    $router->get('', 'UserController@index');
    $router->get('/:id', 'UserController@find');
    $router->post('', 'UserController@store');
    $router->put('/:id', 'UserController@update');
    $router->delete('/:id', 'UserController@destroy');
}, function() {
    // Middleware code...
});

// Middleware Class in Route Group

$router->group('/user', function() use($router) {
    $router->get('', 'UserController@index');
    $router->get('/:id', 'UserController@find');
    $router->post('', 'UserController@store');
    $router->put('/:id', 'UserController@update');
    $router->delete('/:id', 'UserController@destroy');
}, 'AuthMiddleware@verifyToken');

Request data

Request data in URL Query ex: http://api.server.com/user?name=steve

$router->post('/user', function($req, $res) {
    $name = $req->query->name;
});

Request post data JSON

$router->post('/user', function($req, $res) {
    $name = $req->body->name;
    $email = $req->body->email;
});

Request params in URL

$router->put('/:id', function($req, $res) {
    $id = $req->params->id;
});

Start routes

$router->run();

Render HTML file

Required Settings

#Views Settings
const VIEWS_DIR = __ROOT__.'/src/Views/';
const VIEWS_CACHE_DIR = __ROOT__.'/src/Views/default/cache/';
const HEADER_DATA = [
  "author" => "Authro here...", 
  "description" => "Description here..."
];
const VERSION = '1.0.0';

To render an HTML file just use $res->render('file-name'); no need to add .html in file name

$router->get('/user', function($req, $res) use($router) {
    $res->render('html-file-name');
});

To render an HTML file by sending an array of data use $res->render('file-name');

$router->get('/user', function($req, $res) use($router) {
    $res->render('html-file-name', [
        "name"=>$user->name,
        "email"=>$user->email,
        "product"=>$productArray
    ]);
});

To receive the data sent to the HTML file use {{ key }} or {{ key.object.name }}

<div class="card">
    <h4>{{ name }}</h4>
    <p>{{ email }}</p>
    <hr/>
    <p>{{ product.title }}</p>
    <p>{{ product.description }}</p>
    <p>{{ product.price }}</p>
</div>

For more details, see the documentation at RainTPL 3

统计信息

  • 总下载量: 93
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-03-07

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固