luminance / framework
适用于高性能Web应用的现代PHP框架
dev-master
2018-02-06 23:06 UTC
This package is not auto-updated.
Last update: 2024-09-22 08:37:43 UTC
README
Luminance
适用于高性能Web应用的现代PHP框架
Luminance是一个现代PHP框架,使用PHP 7.1精心设计,开箱即用。
特性
- PSR4自动加载器
- 现代路由器(魔法,预定义路由)
- 干净、文档化的代码库
- ORM数据库表结构
- 强大的HTTP请求和响应库
- 兼容PHP 7及以上版本
- 配置系统
- 缓存系统
- 内置CSRF和输入字段清理
- 微模板解析器
安装
要安装Luminance,请确保已安装PHP 7.0或更高版本,并运行以下命令之一:
git clone https://github.com/luminancephp/framework.git
或者,如果您使用Composer:
composer require "luminance/framework:dev-master"
现在,切换到文件夹,并打开您的文本编辑器。在app/Configuration文件夹中更改应用程序和数据库配置路径。示例结构可在入门存储库中找到。
应用程序文件夹结构
所有应用程序都有一个小巧简单的文件夹结构
- 缓存
- 配置
- 控制器
- 模型
- 视图
缓存
这是Luminance\Cache\File.php编写的所有缓存文件的存放位置
配置
这是所有应用程序配置存放的位置,您可以通过调用配置加载器来引用它
示例
$configuration = new \Luminance\Configuration\Loader("file_name"); echo $configuration->config["test_field_name"];
控制器
这里的所有控制器都是大小写敏感的,控制器名称必须与文件名匹配。
示例控制器
<?php /** * This is a hello world controller, as a sample controller * * @author Your Name <yourname@youremail.com> * @namespace Luminance\Controllers * @license LICENSE * @version 1.0.0 * @package MY APP NAME */ namespace Controllers; use Luminance\Controllers\BaseController; class ExampleWorld extends BaseController { public function index() { echo "Hello, world!"; } }
BaseController通过调用分别公开请求和响应对象
$this->request->{methods}; $this->response->{methods};
模型
这些模型被设计为数据库对象,模型必须扩展Table类。
示例
<?php /** * This is a test database */ namespace Luminance\Database; class Accounts extends Table { /** * This is a sample method, that queries a sample data set for it's ID, and returns the PDO object */ public function getUserById(int $user_id) { $this->setQueryString("SELECT * FROM accounts WHERE id = ?"); $this->replacements = array( $user_id ); return $this->execute(); } }
视图
这是一个标准的视图目录,您可以将其用作基础视图目录,但不必使用内置模板解析器。您可以使用任何模板解析器,如Twig、Smarty等。
安全
我们非常重视安全性,如果您在我们的核心中找到安全漏洞,请通过发送电子邮件至michaeldoestech@gmail.com并主题为“Luminance安全漏洞报告”来报告。
我们要求您给我们时间来响应、调查和修复漏洞。从报告到修复的时间仍有效,90天的负责任披露政策仍然有效,如果90天内无法完成修复,我们要求您允许额外30天的时间来正确完成补丁。