belicfr / mvclite-core
MVCLite 核心部分
1.1.9
2024-04-04 17:02 UTC
Requires
- ext-pdo: *
- symfony/string: ^7.0
- twig/twig: ^3.0
README
MVCLite 官方仓库: 点击此处
关于 MVCLite
MVCLite 是一个轻量级的 MVC(模型-视图-控制器)框架,用于在 PHP 中构建 Web 应用程序。它为结构化您的应用程序代码库提供了一个强大的基础,包括中间件、路由系统、ORM(对象关系映射)、 Twig 模板引擎集成等功能。
特性
- 路由系统: 定义清晰直观的 URL 路由来处理各种 HTTP 请求。
- 中间件:轻松将预处理和后处理逻辑集成到应用程序的请求-响应周期中。
- ORM(对象关系映射): 通过将数据库表映射到 PHP 对象来简化数据库交互。
- Twig 集成: 使用 Twig 模板引擎在视图中将逻辑与表示分离。
- 更多: MVCLite 包含许多其他功能,以简化开发过程。
安装
您可以通过 Composer 安装 MVCLite。在终端运行以下命令
composer create-project belicfr/mvclite
安装 MVCLite 后,您必须配置应用程序设置在 config
目录中。 config.php
文件包含应用程序的主要设置。
const ROUTE_PATH_PREFIX = '/'; const DATABASE_CREDENTIALS = [ "dbms" => "mysql", "host" => "localhost", "port" => "3306", "charset" => "utf8mb4", "name" => "", "user" => "", "password" => "" ];
您还必须配置 htaccess 文件,您可以使用 .htaccess_example
文件作为基础。
RewriteEngine On RewriteBase /website/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !src/resources/(.*)$ RewriteRule ^(.*)$ index.php?route=$1 [QSA,L]
用法
路由器
在 src/Router/routes.php
文件中定义应用程序的 路由。以下是一个简单路由的示例
Router::get('/path', Controller::class, "method");
您也可以使用自定义名称定义 路由
Router::get('/path', Controller::class, "method")->setName('routeName');
ORM
内置的 ORM 允许您与数据库进行交互。以下是一个简单的 SELECT 查询示例
Model::select('column1', 'column2') ->where('column', 'value') ->orderBy('column', 'ASC') ->execute();
它仍在开发中,未来将添加更多功能。如果您想执行自定义查询,可以使用 Database
类。
Database::query('INSERT INTO table (column1, column2) VALUES (?, ?)', ['value1', 'value2']);
中间件
中间件 用于在应用程序的请求-响应周期中执行预处理逻辑。您可以在控制器的构造函数中定义一个 中间件。
public function __construct() { $this->middleware(AuthMiddleware::class); }
视图
MVCLite 使用 Twig 模板引擎在视图中将逻辑与表示分离。您可以在 src/Views
目录中创建视图,然后在 控制器 中渲染它们。
View::render('View', ['data' => $data]);
Twig
您可以使用 Twig 模板引擎创建视图。以下是一个简单的 Twig 模板示例
<!DOCTYPE html> <html> <head> <title>{{ title }}</title> </head> <body> {% if bool %} <h1>{{ content1 }}</h1> {% else %} <p>{{ content2 }}</p> {% endif %} {{ include('Footer.twig', {'data': data}) }} </body> </html>
贡献
请随时通过提交 pull request、打开 问题 或分享您对新 功能 的想法来为 MVCLite 贡献。
许可
MVCLite 是开源软件,许可协议为 MIT 许可。
鸣谢
MVCLite 由 belicfr 维护
感谢所有为使 MVCLite 更好而做出贡献的贡献者
- quentinformatique 为文档和测试提供支持