jstewmc/gravity

PHP的一个无框架服务和管理配置器

v0.1.1 2019-02-24 20:54 UTC

This package is auto-updated.

Last update: 2024-08-29 04:37:47 UTC


README

Gravity允许其他开发者使用他们包中的文件在您的依赖注入容器中定义设置和服务。通过整合所有内容,Gravity使得构建和共享小型、可配置的服务变得容易。

Build Status codecov

用法

作为包作者,您将使用set()方法在您的仓库中定义服务和设置

# /path/to/package/.gravity/foo.php

$g->set('foo.bar.baz', true);            // defines a setting
$g->set('Foo\Bar\Baz', new StdClass());  // defines a service

作为包消费者,您将使用get()方法在您的项目中请求服务和设置

# /path/to/project/file.php

$g = (new \Jstewmc\Gravity\Gravity())->pull();  // returns Gravity's manager

$g->get('foo.bar.baz');  // returns true
$g->get('Foo\Bar\Baz');  // returns the StdClass instance

Gravity完全在您的本地文件系统中运行。当您调用pull()方法时,Gravity将找到当前项目的根目录;搜索它以及您的vendor目录中的Gravity文件;将每个文件的服务和设置定义加载到管理器中;然后,将管理器返回给您。就这么简单!

文档

Gravity的文档可在网上或docs目录中查看。

我们致力于维护优秀的文档。如果您发现错误或有建议,请随意分叉并修复它!

安装

Gravity需要PHP 7.2+

Gravity是跨平台的,我们努力使其在Windows、Linux和OSX上运行得同样好。

Gravity必须通过Composer安装。为此,请将以下行添加到您的composer.json文件的require部分(其中x是最新主要版本),并运行composer update

{
   "require": {
       "jstewmc/gravity": "^x"
   }
}

示例

您可以通过在您的计算机上克隆存储库,在文件系统中导航到它,并使用PHP命令行来运行文档中的大多数示例。

# navigate to a directory on your computer
$ cd ~/projects

# clone the repository to your computer
~/projects $ git clone https://github.com/jstewmc/gravity.git

# navigate to the repository
~/projects $ cd gravity

# run the first example
~/projects/gravity $ php examples/first.php

大多数示例使用assert()语句,并且在成功的情况下不会输出任何内容,除非另有说明。

合规性

此库努力遵守以下标准

  1. 保留Changelog 1.0
  2. PSR-2
  3. PSR-11
  4. PSR-16
  5. 语义化版本控制 2.0
  6. SODO设计模式 0.1.0

如果您发现错误,请告诉我们!

许可证

此库根据MIT许可证授权。

鸣谢

此库最初由Jack Clayton开发,并得到像Andy O'brienHarry Wallin等好朋友的意见。

希望您喜欢它!