xeoncross / unitengine
一个由小型社交、依赖感知代码单元驱动的分布式PHP框架
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-24 01:58:24 UTC
README
一个由小型社交、依赖感知代码单元驱动的分布式PHP框架。UnitEngine 允许您轻松地将来自 gist.github.com 的宇宙中的小函数和类引入您的项目。它基本上就像 gists 的 composer。
关于
开发者经常发现现有的库和框架缺乏某些预见性、性能优化、文档或单元测试。这通常是预期的,因为库通常是由不到几个人编写的。俗话说,“没有人能做所有事,但每个人都能做点什么。”在许多缺少足够人手的工程项目中,这句话是真实的。
Unit Engine 将代码生成、文档和单元测试分成更小的块,以便许多人可以非常容易地做出贡献。这意味着每个人都可以编写他们擅长的小块代码,从而产生更好的质量、性能和文档。
特性
- 支持嵌套、递归依赖
- 基于 git 版本控制(尽管代码可以通过 gist.github.com 网络界面完全管理)
- 支持 单元测试
- 易于贡献
安装
有三种方法开始使用 UnitEngine 为您的项目。
A) (推荐) 通过创建一个 composer.json
并在命令行中运行 "$ composer install
" 使用 composer 下载项目。
{
"require": {
"xeoncross/unitengine": "dev-master"
},
}
B) 简单地检出 UnitEngine 的最新副本
$ git clone https://github.com/Xeoncross/UnitEngine.git
C) 手动下载最新的 UnitEngine zip 发布版 并提取它。
一旦您安装了 UnitEngine,您就可以开始使用其他开发者的单元——或者编写您自己的!
分享您的代码
您有一个想要分享的好单元代码?只需用您的代码 fork starter gist,编辑说明,并创建一个简单的单元测试。只需几分钟就可以让您的函数对全世界可用。
入门
从您的项目文件夹中,您现在可以创建一个 readme.md
文件,其中包含您项目所需的所有 gists 的 URL(以及任何您想要的文本)。例如,考虑以下 readme.md
文件示例:
# My FooBar Project
We need a good simple [router](https://gist.github.com/Xeoncross/8337101) so we can build
an awesome foo::bar!
在您有了 readme.md
文件之后,您可以运行单元引擎更新管理器以检出您所需的功能和类的最新版本。
$ php UnitEngine/update.php
或者如果您通过 composer 安装
$ php vendor/Xeoncross/UnitEngine/update.php
在 UnitEngine 将所有必需的单元(及其依赖项)安装到您的 readme.md
中后,您可以在您的代码中包含编译输出,通过包含 UnitEngine/UnitEngine.php
文件。
<?php
require('UnitEngine/UnitEngine.php');
...your code here...
简单至上
我们鼓励开发者通过提供简单解析器来编写可重用的小块代码,该解析器会统计您代码中执行了多少逻辑命令。我们建议人们将代码控制在不大于 100 个动作以内。
$ php UnitEngine/parser.php ../path/to/file.php
UnitEngine 是为小型功能模块而构建的 - 而不是整个库。如果你的代码更大,你可能需要设置一个 完整的GitHub仓库 并将库注册到 packigist。
UnitEngine ♥ Composer。
命名空间
所有 UnitEngine 模块 必须 使用命名空间。使用命名空间可以避免与其他函数和片段冲突,并便于单元测试的分离。
Web 管理员
如果你在一个不提供命令行访问的环境(例如共享主机),你可以上传一个 UnitEngine 源代码的副本,然后创建一个 web_update.php 文件,并假设服务器上已安装并注册了 PHP 和 git,将以下内容粘贴到其中。
<?php passthru('php UnitEngine/update.php');
确保你在完成时删除此文件!