ichthus-soft/bible_ref

此包的最新版本(1.2.4)没有提供许可信息。

1.2.4 2015-02-08 17:42 UTC

This package is auto-updated.

Last update: 2024-09-25 06:34:03 UTC


README

关于项目

Bible_ref 是一个 composer 包,它将真实的文本引用转换为 PHP 数组,以便更好地在 MySQL 查询或其他操作中使用。

安装

建议您通过 Composer 安装此包。在您的当前工作目录中创建一个名为 composer.json 的文件,并将以下内容粘贴进去:

{
    "require": {
        "ichthus-soft/bible_ref": "dev-master"
    }
}

然后运行 composer install

或者,如果您已经在项目中有一个 composer.json 文件,添加上述代码并运行 composer update

之后,您可以使用此包如下:

use BibleRef\Reference;
$reference = new Reference('John 3:16');

####手动安装#### 克隆此仓库,并在您的 PHP 文件中包含 src/BibleRef/Utils.phpsrc/BibleRef/Reference.php

查询语法

# You can add a single verse
$single = new Reference('John 3:16');
# You can add a range of verses
$range = new Reference('John 3:1-16');
# You can ask for multiple chapters
$multiple = new Reference('John 3:1&4:1-10');
# You can even ask for two books
$books = new Reference('John 3:16;Acts 1:1-10');
# You can combine all of the above
$uberCool = new Reference('John 3:16&1:1;Acts 5:1-15;Genesis 1:1-20&2:1');

总结如下:

  • 格式为:BookName chapter:verse[-endVerse](创世记 1:1[-10])
  • 要添加另一个章节,使用 & 连接(创世记 1:1&2:1)
  • 要添加另一本书,使用 ; 连接(分号)(创世记 1:1;使徒行传 1:1)

###版本 2(当前版本)### 版本 2 是推荐使用的新版本。返回的输出与旧版本略有不同。

注意:此版本按您请求的顺序返回输出(旧版本按升序返回经文。如果您首先请求第 2 章第 4 节,然后请求第 2 节,则数组中的第一个元素将是第 4 节,因为它是最先请求的!)

输出结构示例

/**
Array
(
    [passage] => (string)
    [books] => Array( <- array of books
    (
        [BookName1] => Array(
                    [verses] => Array(
                        [chapter] => Array([verses])
                        )
                    )
    )
**/

示例

$test = new Reference('Genesis 2:9&1:10-12,9;John 1:4-5');
$array = $test->v2();
print_r($array);
/**
returns:
Array
(
    [passage] => Genesis 2:9,1:10-12,9 John 1:4-5
    [books] => Array
        (
            [Genesis] => Array
                (
                    [verses] => Array
                        (
                            [2] => Array
                                (
                                    [0] => 9
                                )

                            [1] => Array
                                (
                                    [0] => 10
                                    [1] => 11
                                    [2] => 12
                                    [3] => 9
                                )

                        )

                )

            [John] => Array
                (
                    [verses] => Array
                        (
                            [1] => Array
                                (
                                    [0] => 4
                                    [1] => 5
                                )

                        )

                )

        )

)
**/

####实际应用:#### 此包是为 ichthus-soft/bible-api 包制作的,因此让我给您一个示例,说明我们如何在其中使用此包(其中包含部分罗马尼亚语)。您还可以通过点击 这里 直接查看此代码!

function v2_query($query, &$app) {
  $test = new Reference($query);
  $test = $test->v2();
  $return['pasaj'] = $test['passage'];
  $return['versete'] = [];
  $return['text'] = '';
  foreach($test['books'] as $nume => $versete) {
    foreach($versete['verses'] as $capitol => $verset) {
      foreach($verset as $v) {
          $_verset = $app['db']->fetchAssoc("SELECT * FROM biblia WHERE carte = ? AND capitol = ? AND verset = ?",
    [$nume, $capitol, $v]);
        if($_verset)
        {
          $a['testament'] = $_verset['testament'];
          $a['carte'] = $_verset['carte'];
          $a['capitol'] = $_verset['capitol'];
          $a['verset'] = $_verset['verset'];
          $a['text'] = $_verset['text'];
          array_push($return['versete'], $a);
          $return['text'] .= $_verset['text'].' ';
        }
      }
    }
  }
  return $return;
}

###版本 1(旧版本)###

不应使用此版本。

小心!

如果您添加多个章节,则返回值中的 verses 将默认为空,而 chapters 返回值将是一个包含相关经文的章节数组。

array (size=3)
  'name' => string 'John' (length=4)
  'chapter' => 
    array (size=2)
      1 => 
        array (size=1)
          0 => int 1
      2 => 
        array (size=1)
          0 => int 1
  'verses' => 
    array (size=0)

要获取返回值 verses 中的经文,您必须使用第二个参数将引用类初始化为 false$test = new Reference('John 1:1&2:1', false);

基本上,返回数组中的 verses 键将是 chapter 键的克隆(一个关联数组,其中 chapterNumber => array() 的经文)!

示例

require_once __DIR__ . '/vendor/autoload.php';
use BibleRef\Reference;
$test = new Reference('John 3:16');
$array = $test->getArray();
var_dump($array);
/**
Returns something like:
array (size=3)
  'name' => string 'John' (length=4)
  'chapter' => string '3' (length=1)
  'verses' => 
    array (size=1)
      0 => int 16
**/

更高级的示例

require_once __DIR__ . '/vendor/autoload.php';

use BibleRef\Reference;
$test = new Reference('Ioan 1:1-4,5,6,9,11-14,20-27&2:1,4-10;Evrei 12:16,1-5,22-27&22:1,5-6&4:88,55,1-3');
$array = $test->getArray();
echo '<pre>';
print_r($array);

返回这个

Array
(
    [0] => Array
        (
            [name] => Ioan
            [chapter] => Array
                (
                    [1] => Array
                        (
                            [0] => 1
                            [1] => 2
                            [2] => 3
                            [3] => 4
                            [4] => 5
                            [5] => 6
                            [6] => 9
                            [7] => 11
                            [8] => 12
                            [9] => 13
                            [10] => 14
                            [11] => 20
                            [12] => 21
                            [13] => 22
                            [14] => 23
                            [15] => 24
                            [16] => 25
                            [17] => 26
                            [18] => 27
                        )

                    [2] => Array
                        (
                            [0] => 1
                            [1] => 4
                            [2] => 5
                            [3] => 6
                            [4] => 7
                            [5] => 8
                            [6] => 9
                            [7] => 10
                        )

                )

            [verses] => Array
                (
                    [1] => Array
                        (
                            [0] => 1
                            [1] => 2
                            [2] => 3
                            [3] => 4
                            [4] => 5
                            [5] => 6
                            [6] => 9
                            [7] => 11
                            [8] => 12
                            [9] => 13
                            [10] => 14
                            [11] => 20
                            [12] => 21
                            [13] => 22
                            [14] => 23
                            [15] => 24
                            [16] => 25
                            [17] => 26
                            [18] => 27
                        )

                    [2] => Array
                        (
                            [0] => 1
                            [1] => 4
                            [2] => 5
                            [3] => 6
                            [4] => 7
                            [5] => 8
                            [6] => 9
                            [7] => 10
                        )

                )

        )

    [1] => Array
        (
            [name] => Evrei
            [chapter] => Array
                (
                    [12] => Array
                        (
                            [0] => 16
                            [1] => 1
                            [2] => 2
                            [3] => 3
                            [4] => 4
                            [5] => 5
                            [6] => 22
                            [7] => 23
                            [8] => 24
                            [9] => 25
                            [10] => 26
                            [11] => 27
                        )

                    [22] => Array
                        (
                            [0] => 1
                            [1] => 5
                            [2] => 6
                        )

                    [4] => Array
                        (
                            [0] => 88
                            [1] => 55
                            [2] => 1
                            [3] => 2
                            [4] => 3
                        )

                )

            [verses] => Array
                (
                    [12] => Array
                        (
                            [0] => 16
                            [1] => 1
                            [2] => 2
                            [3] => 3
                            [4] => 4
                            [5] => 5
                            [6] => 22
                            [7] => 23
                            [8] => 24
                            [9] => 25
                            [10] => 26
                            [11] => 27
                        )

                    [22] => Array
                        (
                            [0] => 1
                            [1] => 5
                            [2] => 6
                        )

                    [4] => Array
                        (
                            [0] => 88
                            [1] => 55
                            [2] => 1
                            [3] => 2
                            [4] => 3
                        )

                )

        )

)