objective-php / primitives
ObjectivePHP 的基础类
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同在!