slim-mvc / core
Slim4-MVC 是一个轻量级且快速的 PHP MVC 框架
Requires
- slim-mvc/bower-asset: v1.1.*
- slim-mvc/lazy-load: v1.1.*
This package is auto-updated.
Last update: 2024-09-07 12:05:39 UTC
README
首次安装时需要安装完整版本。
composer create-project slim4-mod/mvc:"dev-master" ./slimMVC
(只有在新版本发布时才需要安装更新)
作者: Phi Hùng - vmkeyb908@gmail.com - (VN) 0974 471 724
Slim-MVC 是一个轻量级且快速的 PHP MVC 框架
添加和调整是最小的,以便您可以使用 slim4 使用 MVC。
特别
- 可以在一个 slimMVC 框架上运行多个网站,就像每个模块都是独立的。
- 每次用户输入一个 URL 时,它都会动态地加载路由。因此,系统将快速运行且内存消耗少,因为它不执行未使用的“init”过程。
- 默认视图是 PHP,您可以使用 Smary(将视图扩展名设置为 .tpl)或 Twig (.twig) - 当您使用任何类型的“视图”时,系统会动态加载代码。
安装
* Lệnh cài đặt cập nhật: "dev-master" hoặc phiên bản mới nhất
composer require slim-mvc/core "dev-master"
该系统的配置指南以及关于该框架的一些基本设置
* Apache 配置
httpd.conf
Define SRVROOT "D:/Path-to/Apache24"
Define SRVROOTV "${SRVROOT}/../www"
httpd-vhosts.conf
localhost
<Directory ${SRVROOTV}>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
FallbackResource /index.php
RewriteEngine on
RewriteRule ^/sslim/(.*) /sslim/index.php/$1 [QSA,L]
</Directory>
<VirtualHost *:80>
AddDefaultCharset UTF-8
DocumentRoot "${SRVROOTV}"
ServerName localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
</VirtualHost>
子目录
Alias /sslim "${SRVROOTV}/slimMVC/src/web"
<VirtualHost *:80>
ServerName localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
DocumentRoot "${SRVROOT}/slimMVC/src/web"
<Directory "${SRVROOT}/slimMVC/src/web">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
FallbackResource /index.php
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName slim.local #cần khai báo hosts trong window: 127.0.0.1 slim.local
ErrorLog "logs/slimMVC-error.log"
CustomLog "logs/slimMVC-access.log" common
DocumentRoot "${SRVROOTV}/slimMVC/src/web"
</VirtualHost>
--
如果您使用 composer 安装,以下配置已预先设置
重要: 要阻止对 slimMVC 子目录的访问,需要创建 slimMVC/.htaccess 文件,其中包含以下一行
Require all denied
同时,为了“启用”网络访问功能,您需要在“web-root”目录之前创建 .htaccess 文件(例如,src/.htacces)并包含以下 3 行
RewriteEngine on RewriteRule ^$ web/ [L] RewriteRule (.*) web/$1 [L]
目录结构图
使用方法
使用命令行工具自动为新的模型(NEW_MODEL)创建必要的文件结构。
new-model <tên_model_mới>
运行工具后,您可以在浏览器中输入 'localhost/NEW_MODEL' 来立即测试。
要充分利用所有功能,您需要执行以下两个主要步骤来使用 MVC 框架:
1- 前往 src/models/NEW_MODEL 目录,并设计 NEW_MODEL.php 文件中的 ORM 补充。
2- 创建与 NEW_MODEL 兼容的表。
- 必需规则
- 目录结构如 slim4 模板所示。所有目录均为小写,所有文件(类)均为首字母大写。
- “Product”函数的名称必须以大写字母开头,后面跟 Action(例如:ListAction.php、RowAction.php、...)
测试: 您可以输入以下测试地址。
-
列出整个 product 表
- localhost/product/list
-
查看具有 id=2 的某个产品(row)的详细信息
- localhost/product/row/2
-
查看 product/index
- localhost/product
-
等等...
扩展指南
- 将网站分割成模块
您可以在一个 slimMVC 框架上运行多个网站,请执行以下步骤:
1- 在 common/config/prs4-alias.php 文件中声明模块名称(例如,admin 已在文件中有示例)
2- 将 template-web(或 backend、frontend 或您的任何其他目录)复制到一个新副本。
3- 将复制的目录重命名为与步骤 1 中声明的模块名称相同的名称。
完成后,您可以在 localhost/admin/product/list 中输入
(admin 是已存在的模块,请将其替换为您自己的模块名称)
- css、js 和 image 资产 - 系统将以下列两种方式之一自动加载资产
a- 如果您有构造函数和类(请参阅 product/listAction.php 示例)的声明,则在 action 文件中直接加载类
b- 从 xxx\controllers\xxx\auto_gen\Asset.php 文件加载
- 对于上述两种方式,AssetClass 的声明是相同的,请参考 .../product 中的 ListAction 和 RowAction 模板
注意: 由于功能仍在设计中,因此需要大家的贡献。谢谢!
作者:Phi-Hùng - vmkeyb908@gmail.com - Readme v.1.2