luminance/framework

适用于高性能Web应用的现代PHP框架

安装: 7

依赖: 0

建议者: 0

安全: 0

星级: 7

关注者: 1

分支: 0

开放问题: 1

类型:package

dev-master 2018-02-06 23:06 UTC

This package is not auto-updated.

Last update: 2024-09-22 08:37:43 UTC


README

Logo

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天的时间来正确完成补丁。