betocampoy / champs_framework
实现了主要核心功能(MVC、路由、控制器、模型、认证、压缩...)的PHP框架
dev-master
2024-04-22 19:04 UTC
Requires
- php: ^7.4
- ext-ctype: *
- ext-json: *
- ext-mbstring: *
- ext-pdo: ^7.4
- ext-xdebug: *
- coffeecode/cropper: ^1.0
- coffeecode/optimizer: ^1.0
- coffeecode/paginator: ^1.0
- coffeecode/uploader: ^1.0
- icanboogie/inflector: ^2.2
- league/oauth2-client: 2.6.*
- league/plates: v4.0.0-alpha
- matthiasmullie/minify: ^1.3
- monolog/monolog: ^2.2
- phpmailer/phpmailer: ~6.0
- phpoffice/phpspreadsheet: ^1.18
- rakit/validation: ^1.4
This package is auto-updated.
Last update: 2024-09-22 19:54:51 UTC
README
Champs Framework 仅用于研究目的开发。不要在生产环境中使用。
Champs Framework 是为了研究和学习目的开发的。不要在生产环境中使用。
主要资源 [主要资源]
- MVC 架构 [MVC 架构]
- 带友好 URL 的路由层 [带友好 URL 的路由层]
- 模型层以简化对 MySql 数据库服务器的访问 [模型层,用于简化对数据库的访问]
- 使用 league/plates 包的视图层 [使用 league/plates 包的视图层]
- 控制器层实现了 CSRF 控制,并进行了输入验证(使用 rakit/validation 包) [控制器层已实现 CSRF 控制,并进行了输入验证(使用 * rakit/validation* 包)]
- 消息对象以标准化所有应用中的消息 [消息对象,用于在所有应用中标准化消息]
- 会话对象以标准化会话操作 [会话对象,用于标准化会话操作]
- 基于用户、角色和权限的认证 [基于用户、角色和权限的认证]
安装 [安装]
ChampsFramework 可通过 Composer 获得
干净的 composer.json 文件示例。
{ "authors": [ { "name": "Creator Author Name", "email": "author@email.com", "homepage": "url.of.project", "role": "Developer" } ], "description": "Description of you project", "config": {"vendor-dir": "vendor"}, "autoload": { "psr-4": {"Source\\": "Source/"} }, "require": { "php": "^7.4", "betocampoy/champs_framework": "1.0.*" } }
"betocampoy/champs_framework": "1.0.*"
或者运行
composer require betocampoy/champs_framework
初始配置 [初始配置]
1. 在项目根目录下创建 .htaccess 文件 [创建 **
.htaccess*** 在项目根目录]
.htaccess 文件示例 [示例 .htaccess 文件]
RewriteEngine On Options All -Indexes ## ROUTER WWW Redirect. #RewriteCond %{HTTP_HOST} !^www\. [NC] #RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] ## ROUTER HTTPS Redirect #RewriteCond %{HTTP:X-Forwarded-Proto} !https #RewriteCond %{HTTPS} off #RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # ROUTER URL Rewrite RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.*)$ index.php?route=/$1 [L,QSA]
2. 在项目根目录下创建 index.php 文件 [创建 **
index.php*** 在项目根目录]
index.php 文件示例 [示例 index.php 文件]
<?php ob_start(); date_default_timezone_set('America/Sao_Paulo'); require __DIR__ . "/vendor/autoload.php"; /** * BOOTSTRAP */ use BetoCampoy\ChampsFramework\Session; use BetoCampoy\ChampsFramework\Router\Router; use function ICanBoogie\pluralize; $session = new Session(); $route = new Router(url(), ":"); $route->namespace("Source\App"); /** * EXAMPLE THEME ROUTES */ $route->group(null); $route->get("/", "WebExample:home"); $route->get("/terms", "WebExample:terms"); $route->get("/contact", "WebExample:contact"); /** * CREATE YOUR CUSTOM ROUTES BELOW */ /** * CREATE YOUR CUSTOM ROUTES ABOVE */ /** * ROUTE DISPATCH */ $route->dispatch(); /** * ERROR REDIRECT */ if ($route->error()) { $route->redirect( $route->route("default.error", ["errcode" => $route->error()])); } ob_end_flush();
文档 [文档]
要打开 Champs Framework 文档,请访问 /champs-docs 路由。
要打开 Champs Framework 文档,请访问 /champs-docs 路由。
贡献 [贡献]
有关详细信息,请参阅 CONTRIBUTING。
请参阅 CONTRIBUTING 以获取更多详细信息。
支持 [支持]
安全:如果您发现任何与安全相关的问题,请通过电子邮件 beto.campoy@gmail.com 联系,而不是使用问题跟踪器。
如果您发现任何与安全相关的问题,请通过电子邮件 beto.campoy@gmail.com 联系,而不是使用问题跟踪器。
谢谢 [感谢]
致谢
- Beto Campoy(开发者)
- 所有贡献者(共同打造)
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。