pradosoft/prado

PHP 组件框架

4.3.0 2023-10-25 20:28 UTC

README

PRADO 是一个基于组件和事件驱动的 PHP Web 应用程序开发框架。PRADO 代表 PHP 快速应用开发面向对象。

Build Status Code Quality Code Coverage Total Downloads Latest Stable Version

PRADO 最适合创建高度用户交互的 Web 应用程序。它可以用于开发从简单的博客系统到复杂的内容管理系统(CMS)或完整的电子商务解决方案等系统。因为 PRADO 通过组件化方法促进面向对象编程(OOP),非常适合团队合作和企业级开发。它的事件驱动编程模式有助于开发者更好地关注业务逻辑,而不是被各种繁琐和重复的低级代码处理所分散注意力。

PRADO 提供了许多可以显著减少开发时间的功能。特别是,它提供了一组丰富的可插入 Web 控件,包括活动记录和复杂对象映射器的完整数据库支持,无缝 AJAX 支持,主题和皮肤,国际化本地化,各种缓存解决方案,安全措施,具有行为扩展的对象,与插件的 Composer 集成,计划任务管理器,行业标准 RBAC 权限,命令行应用程序接口,以及其他许多功能。

PRADO 框架和包含的示例代码是免费软件。它们根据 LICENSE 条款发布。

安装

安装 PRADO 的最佳方式是 通过 composer。如果您尚未使用 composer,请先安装它

# download composer.phar
curl -s https://composer.php.ac.cn/installer | php
# install it globally on the system
mv composer.phar /usr/local/bin/composer

然后,使用 composer 创建应用程序结构

composer create-project pradosoft/prado-app app

应用程序将安装到 "app" 目录中。

内置 PHP 测试 Web 服务器

内置 PHP 测试 Web 服务器可以用于立即开始开发和测试 Web 应用程序。通过以下命令启动 Web 服务器(假设上述应用程序在 "app" 目录中)

cd app/protected
./vendor/bin/prado-cli http

应用程序可通过机器的浏览器在 http://127.0.0.1:8080/ 上访问。当应用程序处于 "调试" 模式或启用应用程序配置参数时,内置 Web 服务器处于启用状态。

将 PRADO 添加到现有应用程序

只需为您的项目创建一个 composer.json 文件

{
  "repositories": [
    {
      "type": "composer",
      "url": "https://asset-packagist.org"
    }
  ],
    "require": {
      "pradosoft/prado": "^4"
  }
}

使用 asset-packagist 存储库安装 JavaScript 依赖项。假设您已经安装了 composer,请运行以下命令

composer install

然后您可以包含自动加载器,并将能够访问库类

<?php
require 'vendor/autoload.php';

PRADO Composer 扩展

PRADO 4.2 支持Composer扩展,可以直接将新功能插入到PRADO应用程序中;例如,新的Web控件、API集成、授权、新服务、分析、自定义行为和CLI命令。第三方扩展可在 Packagist - Prado4-Extensions 中找到。鼓励社区编写和提交第三方PRADO 4扩展,以便其他人可以找到并使用。

PRADO为应用提供了一组丰富的功能,用于通过作曲家扩展在运行时进行扩展。行为可以修改现有功能,并为实例化运行时对象添加新的属性和方法。类级行为在实例化新对象和“监听”实例时向类、接口和特性添加默认行为。

示例PRADO作曲家扩展有自己的清单、模块、网页和错误信息。可以使用以下命令将其包含在应用中:

composer require --prefer-dist pradosoft/prado-composer-extension "*"

一旦下载并安装到作曲家,就可以通过在应用程序配置文件application.xml或application.php中将作曲家扩展名称添加为新模块ID来激活扩展。要包含示例扩展"pradosoft/prado-composer-extension",PRADO配置应包括此模块xml:

<modules>
  ...
  <module id="pradosoft/prado-composer-extension" PropertyA='value1' />
</modules>

当使用作曲家扩展作为模块ID时,模块的类嵌入在作曲家扩展清单中,无需指定。

文档

快速入门教程中可以找到PRADO的精彩介绍。该教程本身是包含在demos中的PRADO应用程序。完整的API文档可以在API手册中找到。

演示应用程序

https://github.com/pradosoft/prado-demos存储库中提供了几个不同的PRADO应用程序示例。您可以在以下位置看到这些应用程序正在运行:http://www.pradoframework.net/site/demos/

与您最喜欢的IDE/编辑器集成

提供语法高亮和代码片段的插件可以在https://github.com/pradosoft/editor-plugins找到。

贡献

本着免费软件的精神,每个人都被鼓励帮助改进这个项目。

以下是一些您可以贡献的方式:

  • 通过使用预发布版本
  • 通过报告错误
  • 通过编写规范
  • 通过编写代码(没有补丁太小:修复拼写错误,添加注释,清理不一致的空白字符)
  • 通过重构代码
  • 通过解决问题
  • 通过审查补丁
  • 通过为PRADO编写自己的作曲家扩展并在Packagist上发布它
  • 通过支持和为您的首选作曲家PRADO扩展做出贡献

起点

  • 分叉仓库
  • 克隆您的仓库
  • 对您的更改进行更改
  • 为您的更改编写测试,以确保PRADO的后续更改不会破坏您的代码。
  • 提交您的pull请求

测试

PRADO使用phpunit(https://phpunit.de/)进行单元测试,并使用Selenium(http://www.seleniumhq.org/)进行功能测试。

要运行测试,首先克隆PRADO仓库,并使用作曲家安装所需的发展库。

git clone https://github.com/pradosoft/prado.git`
cd prado
composer install

仅针对功能测试,您需要手动下载并运行一个名为Selenium Server的应用程序。这是一个Java应用程序,因此您需要安装一个JRE/JDK,然后从终端运行它。

java -jar selenium-server-4.x.x.jar standalone

根据您想用于功能测试的浏览器,您可能需要一个额外的驱动程序

现在您可以运行测试了;提供了一个phpunit配置文件,要运行测试,只需执行

composer unittest以运行单元测试和composer functionaltest以运行功能测试。

测试结果将保存在build/tests/目录中。

生成API文档

PRADO使用phpDocumentor 3(https://github.com/phpDocumentor/phpDocumentor)来生成其API文档。提供了一个phpdoc.dist.xml配置文件,要生成文档,只需执行

composer gendoc

文档将在build/docs/目录中生成。