adamo/skeleton-basic-work
SLIM PHP MCV 的基本结构
v1.1.0
2023-08-07 13:34 UTC
Requires
- phpmailer/phpmailer: ^6.8
- slim/slim: 2.6.3
- twig/intl-extra: ^3.6
- twig/twig: ^3.0
- vlucas/phpdotenv: ^5.4@dev
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'); } }