webiny/framework

Webiny 框架

v1.6.1 2017-11-26 09:58 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 的实现
  • 注释
    • classmethodproperty 解析注释的组件
  • 引导
    • 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

请注意,一些组件(如CacheMailerStorage)可能需要在运行单元测试之前更新其测试配置。有关更多信息,请查阅组件的readme文件。