slim-mvc/core

Slim4-MVC 是一个轻量级且快速的 PHP MVC 框架

安装: 31

依赖: 1

建议者: 0

安全: 0

星星: 0

关注者: 1

分支: 0

类型:核心

dev-master 2024-08-07 11:21 UTC

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]

测试
http://slim.local/user/list
或者
https:///sslim/user/list


目录结构图

common/docs/dir-struct.PNG


使用方法

使用命令行工具自动为新的模型(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