rootxs / sudobible
开源圣经API。
Requires
- php: >=5.4
This package is not auto-updated.
Last update: 2024-09-14 18:47:23 UTC
README
开源圣经API。
安装与设置
使用您的数据库凭据和可选的翻译偏好(默认翻译为世界英语圣经,一种现代、公有领域的英语翻译)实例化SudoBible。
$oBible = new \RootXS\SudoBible([ 'db_host' => 'localhost', 'db_user' => 'my_user', 'db_pass' => 'my_super_secure_password', 'db_name' => 'my_db', 'translation' => 'ASV', ]);
首次设置时调用以下方法一次,然后在您的表创建完成后删除此代码
$oBible->install();
保留此代码在您的应用程序中不会破坏任何东西。它只会使您的应用程序在每次运行时进行多次多余的数据库查询。因此,建议您运行一次,然后从您的代码中删除它。
或者,您可以手动运行位于“queries”目录中的查询。找到您的数据库类型(例如,“mysql”)的子目录,然后按顺序运行“create”脚本,然后运行“insert”脚本。
基本用法
获取单个经文
$oPassage = $oBible->verse('John', 3, 16);
获取整章
$oPassage = $oBible->chapter('John', 3);
获取一段经文(提供起始和结束经文编号)
$oPassage = $oBible->ref('John', 3, 16, 17); // John 3:16-17 $oPassage = $oBible->ref('Hebrews', 5, 11, 6, 2); // Hebrews 5:11-6:2
根据主题获取一个或多个经文
$aPassages = $oBible->topic('church'); // returns an array of all related passages $oPassage = $oBible->topic('church', true); // returns a single, random related passage
SudoBiblePassage对象
verse()
、chapter()
和ref()
每个都返回一个包含请求的经文并提供操作它的实用程序的SudoBiblePassage
对象。
打印经文
SudoBiblePassage
对象使用__toString()
魔术方法,允许您简单地使用echo
或print
对象。
echo $oBible->verse('John', 3, 16);
输出
因为神爱世人,甚至赐下他的独生子,使一切信他的,不至灭亡,反得永生。(约翰福音3:16)
设置经文样式
SudoBiblePassage
对象提供了一些方法来设置字符串输出样式。
$oPassage = $oBible->ref('John', 3, 16, 17) ->numberVerses() // adds verse numbers to the passage string ->useHTML(); // adds some HTML styling to the passage string echo $oPassage;
输出
16因为神爱世人,甚至赐下他的独生子,使一切信他的,不至灭亡,反得永生。17因为神没有差他的儿子来审判世界,乃是要救世界。(约翰福音3:16-17)
所有样式方法都接受一个布尔参数,因此您可以在之前开启样式后关闭它
$oPassage->numberVerses(false);
布尔标志默认为true
,因此如果您只想开启功能,“on”不需要参数。
导航经文
SudoBiblePassage
对象还提供了一种机制来继续选择之后的经文
$oPassage = $oBible->verse('John', 3, 16); for ($i=0; $i<2; $i++) { echo $oPassage; $oPassage = $oPassage->nextVerse(); }
删除或刷新数据库
要删除sudo_bible_*
表,在您的PHP代码中运行一次以下内容
$oBible->uninstall();
或者,您可以手动运行位于queries/{DB_TYPE}/drop
中的脚本。
要刷新表(例如,更新SudoBible存储库后),在您的PHP中运行以下内容
$oBible->reinstall();
这仅仅是组合了uninstall()
和install()
。您也可以手动按顺序运行drop
、create
和insert
查询脚本。