adamo/skeleton-basic-work

SLIM PHP MCV 的基本结构

v1.1.0 2023-08-07 13:34 UTC

This package is auto-updated.

Last update: 2024-09-07 16:00:08 UTC


README

这是一个用于使用 MVC 和 SLIM, TWIG 开发应用的简单结构。

为了简化并标准化前端样式,使用 webpack 来配置将 SASS 编译为 css,使用 Babel 编译 javascript,以及使用 bootstrap 对 HTML 进行样式化。

安装

composer create-project quaestum/quaestum

npm install

配置

添加数据库连接和/或 SMTP 用于发送电子邮件的配置很简单。使用 .env 文件。

该文件已预定义了数据库连接变量,只需添加值。使用 .env.exemplo

路由

在路由目录中,可以放置所需的任何文件,以及用于分离 API 版本的文件夹。

例如:在 routes 文件夹中,包括 api/v1。在这个文件夹中,可以创建所需的任何路由文件,以及用于更好地组织项目的文件夹。

用户.php 文件

<?php
use App\Controllers\Home;

$app->group('/api', function() {
    
    $app->group('/v1', function() {

        $app->group('/usuario', function() {
            $app->get('/', $authi,  function() {
                $home = new Home();
                $home->index();
            });

        });

    });

})

在 app 文件夹中创建控制器,并按需操作。

创建控制器非常简单:在 App/Controllers 文件夹中创建一个控制器文件。例如,创建 Home.php:

<?php
namespace App\Controllers;

/** 
* Utilize a classe Controller principal para extender a classe Home
* Essa seper classe oferece o atributo app que carrega a instancia do Slim.
* Assim conseguirá recuperar **requests**, utilizar **responses** ou o render do Twig que é instanciado no bootstrap da aplicação
*/
use App\Controllers\Controller;

class Home extends Controller
{
   public function index()
   {
       $this->app->render('BemVindo');
   }
}