belicfr / mvclite
1.1.2
2024-04-04 17:12 UTC
Requires
Requires (Dev)
- saggre/phpdocumentor-markdown: ^0.1.4
README
关于 MVCLite
MVCLite 是一个轻量级的 MVC(模型-视图-控制器)框架,用于在 PHP 中构建网络应用程序。它为您的应用程序代码库提供坚实的基础,包括如 中间件、路由系统、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、打开 issue 或分享您对新的 功能 的想法来为 MVCLite 贡献。
许可
MVCLite 是开源软件,受 MIT 许可证 许可。
鸣谢
MVCLite 由 belicfr 维护
感谢所有帮助使 MVCLite 更好的贡献者
- 感谢 quentinformatique 提供文档和测试