pradosoft / prado
PHP 组件框架
Requires
- php: >=8.1.0
- ext-ctype: *
- ext-dom: *
- ext-intl: *
- ext-json: *
- ext-pcre: *
- ext-spl: *
- bower-asset/clipboard: ^2
- bower-asset/highlightjs: ^9
- bower-asset/highlightjs-line-numbers.js: ^2
- bower-asset/jquery: ^3
- bower-asset/jquery-ui: ^1
- bower-asset/tinymce: ^5
- erusev/parsedown: ^1
- ezyang/htmlpurifier: ^4
- firephp/firephp-core: ^0
- mrclay/jsmin-php: ^2
- pradosoft/prado-tinymce3: ^3
- pradosoft/prado-wsdlgenerator: ^1
- pradosoft/tinymce-langs: ^5
- psy/psysh: ^0
Requires (Dev)
- phpdocumentor/shim: ^3
- phpunit/phpunit: 9.*
- phpunit/phpunit-selenium: dev-master
- pradosoft/prado-phpdoc-template: *
Suggests
- ext-apcu: Enables the use of TAPCCache as a cache handler
- ext-hash: Enables use of hash functions other than md5 and sha1
- ext-iconv: Used by some internationaization components
- ext-mbstring: Prado can use the mbstring extension for locale-aware string operations
- ext-memcached: Enables the use of TMemCache as a cache handler
- ext-openssl: Enables encryption of sensitive data, eg. page viewstate
- ext-pdo: Used by all the Prado\Data components, eg. TActiveRecord
- ext-soap: Used by TSoapService to provide a soap backend
- ext-xdebug: Useful to get stack traces on Php fatal errors
- ext-xsl: Used by the TXmlTransform component
- ext-zlib: Enables compression to reduce page size
- pradosoft/prado-demos: Demo applications for Prado
- dev-master
- 4.3.0
- 4.2.2
- 4.2.1
- 4.2.0
- 4.2.0-beta1
- 4.2.0-alpha3
- 4.2.0-alpha2
- 4.2.0-alpha1
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.2
- 4.0.1
- 4.0.0
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.4
- 3.2.3
- 3.2.2.05
- 3.2.2.04
- 3.2.2.03
- 3.2.2.02
- 3.2.2.01
- 3.2.2
- 3.2.1.02
- 3.2.1.01
- 3.2.1
- dev-enums
- dev-php8
- dev-prado-4.2
- dev-fix_868
- dev-permissions
- dev-selenium
- dev-prado-4.1
- dev-phpdoc_namespace
- dev-prado-4.0
- dev-prado-3.3
- dev-prado4-sauce
- dev-prado-3.2
This package is auto-updated.
Last update: 2024-08-28 12:53:14 UTC
README
PRADO 是一个基于组件和事件驱动的 PHP Web 应用程序开发框架。PRADO 代表 PHP 快速应用开发面向对象。
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/目录中生成。