webiny / framework
Webiny 框架
Requires
- php: ^7
- ext-gd: *
- aws/aws-sdk-php: ~3.0
- imagine/imagine: ~0
- league/oauth1-client: ~1.0
- league/oauth2-client: ~2.0
- mandrill/mandrill: ~1.0
- minime/annotations: ~3.0
- mongodb/mongodb: ~1.0
- psr/log: ~1.0
- sendgrid/sendgrid: ~5.0
- smarty/smarty: ~3.0
- swiftmailer/swiftmailer: ~5.0
- symfony/yaml: ~3.0
- webiny/forked-jamm-memory: ~1.0
Requires (Dev)
- mybuilder/phpunit-accelerator: dev-master
- phpunit/phpunit: ~6
Replaces
- webiny/amazon: v1.6.1
- webiny/annotations: v1.6.1
- webiny/bootstrap: v1.6.1
- webiny/cache: v1.6.1
- webiny/class-loader: v1.6.1
- webiny/config: v1.6.1
- webiny/crypt: v1.6.1
- webiny/entity: v1.6.1
- webiny/event-manager: v1.6.1
- webiny/http: v1.6.1
- webiny/image: v1.6.1
- webiny/logger: v1.6.1
- webiny/mailer: v1.6.1
- webiny/mongo: v1.6.1
- webiny/oauth2: v1.6.1
- webiny/rest: v1.6.1
- webiny/router: v1.6.1
- webiny/security: v1.6.1
- webiny/service-manager: v1.6.1
- webiny/std-lib: v1.6.1
- webiny/storage: v1.6.1
- webiny/template-engine: v1.6.1
- webiny/twitter-oauth: v1.6.1
This package is not auto-updated.
Last update: 2024-09-14 15:58:07 UTC
README
这是一个用于构建 PHP 应用程序的组件集合。每个组件都有自己的文档,包括用法示例和配置示例。
安装框架
安装框架的最佳方式是使用 Composer。
composer require webiny/framework
要获取软件包的附加版本,请访问 Packagist 页面。
要求
Webiny 框架需要 PHP 7.0 或更高版本。
反馈
我们非常欢迎反馈,无论是积极的还是消极的,任何反馈都十分受欢迎。所以如果您有什么想告诉我们的,请通过电子邮件发送到 info{at}webiny.com。
许可
Webiny 框架是在 MIT 许可下发布的。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是合同责任、侵权责任或其他责任,无论这些责任是由软件本身引起的,还是与软件的使用或其他方式有关。
关于编码的一些说明
- 在编写任何代码之前,请确保您已经阅读了 PSR-1 编码标准 (http://www.php-fig.org/psr/psr-1/)
- 每个包都应该有自己的异常处理器
- 优先使用 'use' 关键字,而不是使用带有命名空间的完整类名
Git & IDE 配置
换行符 PHPStorm > 文件 > 行分隔符 > LF PHPStorm > 首选项 > 代码样式 > 通用 > 行分隔符(对于新文件)> Unix
Git 在终端执行:git config --global core.autocrlf input
桥梁和组件
桥梁
Webiny 框架以最大程度地重用其他开源组件的方式进行编写,这样我们就不会反复编写相同的代码。但是,为了在我们的组件和第三方库之间创建某些兼容性层,我们引入了 桥梁。如果一个组件使用第三方库,它将通过桥梁使用,我们在其中实现了一个接口,因此如果我们想更改外部库,我们只需创建一个新的桥梁,而无需对组件本身进行重构。
组件
这是目前可用的组件列表
- Amazon
- 目前支持 Amazon S3 的实现
- 注释
- 从
class
、method
或property
解析注释的组件
- 从
- 引导
- MVC 引导组件
- 缓存
- 提供 Apc、Couchbase、Memcache 和 Redis 等多个缓存库
- ClassLoader
- PSR-0、PSR-4 和 PEAR 类加载器
- Config
- 一个非常有用的库,用于解析 YAML、INI、JSON 和 PHP 配置文件
- Crypt
- 用于编码、解码和验证散列的库
- Entity
- MongoDb ODM 层
- EventManager
- 想要进行基于事件的开发,这是一个适合您的库
- Http
- 用于解析 HTTP 请求中所有数据的库
- 将很快也支持构建 HTTP 响应
- Image
- 用于图像处理的库
- Logger
- 用于处理代码执行期间的日志记录的组件
- 邮件发送器
- 用于发送电子邮件的组件
- Mongo
- MongoDB类封装器
- OAuth2
- 用于处理OAuth2的库,目前支持Facebook、LinkedIn和Google+
- REST
- 功能全面的REST库,具有缓存、安全性和速率控制
- 路由器
- 处理定义、解析、创建和匹配URL路由
- 安全
- 提供授权和认证层
- 支持Http、Web表单、Twitter和OAuth2认证
- 服务管理器
- 想要编写真正基于服务的、松耦合的代码,这个库提供了这样的功能
- StdLib
- 厌倦了不断混合遗留PHP函数和面向对象代码
- 此组件为数组、字符串、URL、文件和DateTime类型提供面向对象的封装器
- 存储
- 存储抽象层,简化了您与文件和目录交互的方式
- 支持本地文件系统和Amazon S3
- 模板引擎
- 提供渲染视图模板、定义模板插件和操纵器的层
- TwitterOAuth
- 使用Twitter OAuth处理Twitter API的库
单元测试
所有组件都具有单元测试,但一些覆盖的代码更多,而另一些只覆盖了一小部分。我们打算随着时间的推移改变这种情况,并让尽可能多的代码被单元测试覆盖。
要运行单元测试,您需要使用以下命令
$ cd path/to/vendor/webiny/framework/
$ composer.phar install
$ phpunit
请注意,一些组件(如Cache
、Mailer
和Storage
)可能需要在运行单元测试之前更新其测试配置。有关更多信息,请查阅组件的readme文件。