bztsrc / phppe3
PHP Portal Engine 的元包。一个极简、可扩展且安全的 PHP 框架和 CMS,功能丰富,非常适合在树莓派上使用。
Requires
- php: >=7.0
- phppe/core: >=3.0
Suggests
- phppe/CMS: *
- phppe/Developer: *
- phppe/Extensions: *
- phppe/GPIO: *
- phppe/bootstrap: *
This package is not auto-updated.
Last update: 2024-09-14 18:42:06 UTC
README
PHPPE 是一个极简但功能丰富的微型框架和 CMS。框架的核心是一个文件,大小仅几千字节,小巧到可以放在您的剪贴板上!与其他现有的开源 PHP 框架不同,PHPPE 是以 安全、MVC、KISS 原则以及没有任何依赖的思路编写的。作为一个微型框架,它不能解决所有面向 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 进行安装
-
创建一个新的项目,该项目包含 PHPPE 框架的生产版本
$ composer create-project "bztsrc/phppe3" $ mv phppe3 myProject
不使用 Packagist 进行安装
如果不使用 Packagist,安装 PHPPE 有许多方法。你可以使用 git、Composer 单独使用,或者使用 curl/wget。有关详细说明和替代方案,请参阅 文档。
-
在项目根目录下创建 web 服务器文档根
$ mkdir public
-
下载框架核心
$ curl https://raw.githubusercontent.com/bztsrc/phppe3/master/public/index.php >public/index.php -
运行诊断模式以提取目录结构,包括 vendor/phppe/Core(注意,只有 root 权限才需要 chown 和 chgrp 调用)
$ sudo php public/index.php --diag
-
如果您想使用 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/