bztsrc/phppe3

PHP Portal Engine 的元包。一个极简、可扩展且安全的 PHP 框架和 CMS,功能丰富,非常适合在树莓派上使用。

安装: 45

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 3

分支: 0

开放问题: 0

类型:项目

3.0.0 2018-02-27 00:27 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:42:06 UTC


README

Latest Stable Version PHP Version License Code Coverage

PHPPE 是一个极简但功能丰富的微型框架和 CMS。框架的核心是一个文件,大小仅几千字节,小巧到可以放在您的剪贴板上!与其他现有的开源 PHP 框架不同,PHPPE 是以 安全MVCKISS 原则以及没有任何依赖的思路编写的。作为一个微型框架,它不能解决所有面向 Web 开发的任务,但肯定能解决最常见的任务并使您的生活更轻松。它不是臃肿的,简单带来稳定性和高性能。

特性

这 90k 字节的 PHP 代码将为您提供

  • 单文件部署.
  • 独立环境,仅可选依赖。
  • PHP Composer 兼容性
  • PHPUnit 兼容性,提供 100% 代码覆盖率
  • Bootstrap 兼容性
  • 可用于 作为 CGI(Apache 和 nginx)、从 CLI 以及作为库直接使用
  • 干净且文档齐全的 API,可搜索的 库参考,带有示例
  • 可扩展的 集群架构 以应对巨大负载
  • 非常小的内存占用,非常适合小型计算机,如 树莓派
  • 高度模块化,易于扩展的 结构,带有 类自动加载器
  • 自我一致性检查和诊断(甚至修复!)
  • 环境自动检测(如基本 URL、浏览器的语言、时区和屏幕大小)
  • 智能、正则表达式支持的、可筛选的 class::method 路由 机制
  • 由 PDO 驱动的数据库层,具有透明的按需方案安装
  • 方便且易于使用的 ORM 模型 接口
  • 快速且安全的 模板 系统,用于视图
  • 强大的 缓存,集成了 memcached、APC/APCu 以及压缩文件支持
  • 自动表单数据验证和安全检查
  • 访问控制列表
  • 审计日志到文件或系统日志
  • 监控支持(nagios 可以轻松从其输出中获取性能和状态信息)
  • 缩略图生成和图像处理支持(使用 libGD)
  • 双向多语言支持
  • 内置的 内容服务器 以支持 CMS
  • 使用视图层检测模型(你从未见过的灵活性)
  • 基准测试 功能

当然,单个文件是有限的,所以这里有救星 —— PHPPE Pack (~96KiB),它可以帮助你轻松配置注册表、电子邮件服务、用户管理、SQL 查询构建器等。

为了完全的 CMS 功能,你还需要安装 PHPPE CMS 中的内容编辑器(46KiB),因为 PHPPE 核心本身只提供内容。

要求

  • 至少 PHP 7.0
  • SSH 终端访问(使用 ssh 或 PuTTY)
  • 服务器端的 Apache 或 nginx 配置 php-fpm
  • 客户端的任何 HTML5 兼容浏览器
  • 如果你安装所有扩展,则可用空间不超过 768KiB

使用 Packagist 进行安装

  1. 创建一个新的项目,该项目包含 PHPPE 框架的生产版本

    $ composer create-project "bztsrc/phppe3"
    $ mv phppe3 myProject

不使用 Packagist 进行安装

如果不使用 Packagist,安装 PHPPE 有许多方法。你可以使用 git、Composer 单独使用,或者使用 curl/wget。有关详细说明和替代方案,请参阅 文档

  1. 在项目根目录下创建 web 服务器文档根

    $ mkdir public
  2. 下载框架核心

    $ curl https://raw.githubusercontent.com/bztsrc/phppe3/master/public/index.php >public/index.php
  3. 运行诊断模式以提取目录结构,包括 vendor/phppe/Core(注意,只有 root 权限才需要 chown 和 chgrp 调用)

    $ sudo php public/index.php --diag
  4. 如果您想使用 vendor/phppe/Core 的完整功能,还可以使用以下方法安装 PHPPE Pack

    $ composer update

    或没有 Composer

    $ curl https://bztsrc.github.io/phppe3/phppe3_core.tgz | tar -xz -C vendor/phppe/Core && sudo php public/index.php --diag

内容管理

核心作为内容提供商,不能自行修改内容。为此,请使用以下方法安装内容编辑器扩展

$ composer require "phppe/CMS"

$ curl https://bztsrc.github.io/phppe3/phppe3_cms.tgz | tar -xz -C vendor/phppe/CMS

在可扩展的环境中,只需要一个专用的内容编辑器。有关负载均衡的更多详细信息,请参阅 文档

扩展

如果您想要用于 扩展管理 的基于 Web 的界面,请安装

$ composer require "phppe/Extensions"

$ curl https://bztsrc.github.io/phppe3/phppe3_extensions.tgz | tar -xz -C vendor/phppe/Extensions

这将给您带来您在其他框架中习惯的标准 webadmin 感觉,但与其他框架不同的是,这可以通过 SSH 安全地工作。

开发

即使您不想为框架做出贡献,只是使用它或编写您自己的扩展,也值得安装 开发者 包!这将为您提供一个很好的模板生成器,用于生成您的 PHP 文件,一个用于从您的代码中创建语言词典的实用程序,并且还包含一个最小、与 PHPUnit 兼容的测试框架。

$ composer require "phppe/Developer"

$ curl https://bztsrc.github.io/phppe3/phppe3_developer.tgz | tar -xz -C vendor/phppe/Developer

这将提供以下实用程序

$ php public/index.php create model myExtension myModel
$ php public/index.php create controller myExtension myController
$ php public/index.php create route myExtension myurl myController myAction
$ php public/index.php lang myExtension en
$ php public/index.php tests run
$ php public/index.php mkrepo

您可以使用 Packagist 安装整个存储库,包括所有扩展

$ composer create-project "bztsrc/phppe3:dev-master"

许可证

PHPPE 核心、PHPPE Pack、PHPPE CMS、PHPPE 扩展以及 PHPPE 开发者都是免费和开源软件,许可协议为 LGPL-3.0+。有关详细信息,请参阅 vendor/phppe/LICENSE。

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <https://gnu.ac.cn/licenses/>.

作者

PHPPE zoltan DOT baldaszti AT gmail DOT com

Simple Diff Paul Butler 2007 http://www.paulbutler.org/