objective-php/primitives

ObjectivePHP 的基础类

v2.0.0 2018-03-28 10:57 UTC

README

免责声明

本文档使用globish编写,这是我们在法国尝试使用的英语风格。我们知道我们的英语很糟糕,请不要太在意它 :)

虽然我们已经考虑了这个库有一段时间了,但其实现仍处于早期阶段,在未来几个月内,你可能会看到一些代码和许多变化。这意味着,如果你对这个项目感兴趣,非常欢迎你尝试它、为其做出贡献、提出建议,但现在请不要在生产项目中使用它!

项目介绍

基础对象是ObjectivePHP的基础。ObjectivePHP旨在为PHP提供一些高级组件,以提供更客观的语法。ObjectivePHP库的目标可以总结如下

  • 充分利用PHP的OOP能力
  • 与数据对象一起工作,没有多用途、虚拟容器(即变量)
  • 将常用的数据处理封装到可靠、高效和单元测试的方法中
  • 将任何错误转换为异常,以便于处理失败
  • 为PHP带来更优雅、现代和流畅的编程方式(部分受JavaScript启发)
  • 智能补全库,以增强开发者的生产力
  • 利用更多语言功能(如闭包)

我们的基础库旨在实现这些目标的大部分。第一组对象将包含

  • ObjectivePHP\Primitives\String
  • ObjectivePHP\Primitives\Collection

每个对象都将以面向对象的方式封装原生函数,并公开高级方法来执行许多常见的数据操作。更多内容将在另一份关于编码标准和规则的文档中介绍。

接下来是什么?

首先,我们将专注于上面提到的三个类。一旦它们准备好在第三方代码中得到可靠实现,我们将考虑发布1.0版本。从现在开始,我们将能够制定更详细的路线图。

这个路线图不仅将预测基础库的演变,还将包括基于基础库的扩展库的并行开发,这些库在基础库之上构建,并提供一些更高层次的现实用途组件。

  • HTML 标签
  • CSS 样式
  • 文件/流
  • 图片
  • 点(坐标)
  • ...

这些都是我们打算工作的类的一些示例,但还有很多更多。

再次邀请大家通过提交建议、尝试和测试我们所做的工作、贡献(代码或文档)来参与贡献。如有任何联系,请发送邮件至 team@objective-php.org

安装

手册

您可以通过运行以下命令克隆我们的Github仓库

git clone http://github.com/objective-php/primitives

如果您要这样进行,可能不需要更多解释如何使用这个库 :)

Composer

安装库并准备好使用它的最简单方法是使用Composer。在您为Primitives创建的空文件夹中运行以下命令

composer require --dev objective-php/primitives:dev-master 

然后,您可以通过在vendor目录中找到的Composer的autoload.php开始使用原始类进行编码。

嗯,在开始编码之前,请花时间阅读这个文件直到最后 :)

如何测试正在进行中的工作?

运行单元测试

首先,在尝试我们的原始功能之前,请始终运行单元测试套件。我们的测试是用PHPUnit编写的,可以按照以下方式运行

cd [clone directory]/tests
./phpunit .

编写一些代码

此时,你需要自己探索原始功能能为你做什么,对此我们表示歉意,我们很快将提供一些示例来帮助你入门。同时,你可以通过依赖你的IDE自动补全功能来实例化各种类,并自己学习它们的功能;)

use ObjectivePHP\Primitives\String;
use ObjectivePHP\Primitives\Collection;

// allow Primitives classes autoloading
// Note: this is assuming you used Composer to install the library!
require 'vendor/autoload.php';

$identifier = new String(uniqid());
$server = new Collection($_SERVER);

愿面向对象编程与PHP同在!