moehrenzahn/scripturekit

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

ScriptureKit PHP

1.1 2020-04-09 23:11 UTC

This package is auto-updated.

Last update: 2024-09-17 11:30:02 UTC


README

A PHP框架,用于处理来自Zefania项目qurandatabase.org的圣经XML文件。

要求

  • PHP 7.2或更高版本,且包含SimpleXML和mbstring扩展
  • Composer包管理器

安装

ScriptureKit只能通过包管理器Composer安装

composer require moehrenzahn/scripturekit

有关如何在项目中使用Composer的更多信息,请参阅Composer文档

功能

您可以使用ScriptureKit进行以下操作

  • 加载章节文本
  • 加载节文本
  • 加载一组节文本
  • 为章节、节组或节渲染格式化的引用字符串
  • 加载圣经文件的版本详情。

加载节文本时,有以下选项可用

  • HTML或纯文本形式渲染
  • 突出显示单个节
  • 在句子末尾自动添加段落分隔符
  • 包含注释(仅限ZefaniaXML)

ScriptureKit与以下圣经文件兼容

使用方法

实例化

$availableCollections = [
    Moehrenzahn\ScriptureKit\Data\VerseRequest::COLLECTION_NT,
    Moehrenzahn\ScriptureKit\Data\VerseRequest::COLLECTION_OT
];

$version = new \Moehrenzahn\ScriptureKit\Data\Version(
    'International Standard Version',     // Title of the version
    'xml/bibles/isv.xml', // Filesystem path to the xml file you want to load 
    \Moehrenzahn\ScriptureKit\Data\Version::TYPE_BIBLE, // The type of version (Zefania XML Tanakh, Zefania XML Bible, or Qurandatabase Quran)
    $availableCollections // List of Collections available in the version, see Moehrenzahn\ScriptureKit\Data\VerseRequest::COLLECTION_*
);
// Instantiate the ScriptureKit service
$service = new \Moehrenzahn\ScriptureKit\Service($version);

加载节文本

$version = new \Moehrenzahn\ScriptureKit\Data\Version($filePath, $type, $availableCollections);
$service = new \Moehrenzahn\ScriptureKit\Service($version);

$verseRequestBuilder = new \Moehrenzahn\ScriptureKit\VerseRequestBuilder(
    3, // Number of the start chapter to load,
    Moehrenzahn\ScriptureKit\Data\VerseRequest::COLLECTION_NT, // Collection from which to load the verse (Tanakh, OT, NT, or Quran)
    16 // Start verse to load 
);
// Number of the Book to load (if collection is not Quran). First book starts at 1 (Matthew)
$verseRequestBuilder->setBookNumber(4); 
// List of verses to render with highlight
$verseRequestBuilder->setHighlightedVerses([]); 
// Render as HTML instead of plain text
$verseRequestBuilder->setReturnHtml(true);
// See \Moehrenzahn\ScriptureKit\VerseRequestBuilder for more options
$verseRequestBuilder->set...();

$verse = $service->createVerse($verseRequestBuilder->build());

// Print verse text (as HTML)
echo $verse->getText();

// Print verse reference string ("New Testament, John 3:16")
echo $verse->getFullReference();
// Print a compact reference (John 3:16)
echo $verse->getCompactReference();
// See \Moehrenzahn\ScriptureKit\Data\RenderedVerse for more options
echo $verse->get...();

加载版本详情

$version = new \Moehrenzahn\ScriptureKit\Data\Version($filePath, $type, $availableCollections);
$service = new \Moehrenzahn\ScriptureKit\Service($version);

$detailedVersion = $service->createDetailedVersion();

echo $detailedVersion->getTitle();
echo $detailedVersion->getDetails()['language'];

国际化

您可以国际化书籍和章节的名称,以及节分隔符(默认:)。

在生成节引用时将使用您配置的字符串。

$version = new \Moehrenzahn\ScriptureKit\Data\Version($filePath, $type, $availableCollections);
$service = new \Moehrenzahn\ScriptureKit\Service($version);
$requestBuilder = new \Moehrenzahn\ScriptureKit\VerseRequestBuilder($chapterNumber, $collection, $startVerse, $endVerse, $endChapter);

$requestBuilder->setChapterVerseSeparator(',');
$requestBuilder->setTanakhBookNames(\Moehrenzahn\ScriptureKit\Util\TanakhBookNames::BOOK_NAMES);
$requestBuilder->setBibleBookNames(\Moehrenzahn\ScriptureKit\Util\BibleBookNames::BOOK_NAMES);
$requestBuilder->setQuranChapterNames(\Moehrenzahn\ScriptureKit\Util\QuranChapterNames::CHAPTER_NAMES);

测试

ScriptureKit包含一个非详尽的PHPUnit测试套件。您可以通过项目的makefile执行测试

make phpunit

作者

Max Melzer
moehrenzahn.de
hi@moehrenzahn.de