1. Go to this page and download the library: Download c0destep/holy_bible library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
c0destep / holy_bible example snippets
use HolyBible\Bible;
use HolyBible\Books;
$bible = new Bible();
// Obter capítulo
$chapter = $bible->getChapter(Books::JOHN, 3);
foreach ($chapter['verses'] as $verse) {
echo "{$verse['number']}. {$verse['text']}\n";
}
// Obter versículo específico
$verse = $bible->getVerse(Books::JOHN, 3, 16);
echo $verse['text'];
// Listar todos os livros
$books = $bible->getBooks();
// Listar versões disponíveis
$versions = $bible->getAvailableVersions();
use HolyBible\Bible;
use HolyBible\Config\BibleConfig;
use HolyBible\Retry\RetryPolicy;
use Monolog\Logger;
use Monolog\Level;
use Monolog\Handler\StreamHandler;
// Criar logger
$logger = new Logger('bible');
$logger->pushHandler(new StreamHandler('bible.log', Level::Debug));
// Configurar
$config = new BibleConfig([
'version' => 'nvi',
'timeout' => 10.0,
'cache_enabled' => true,
'cache_ttl' => 7200, // 2 horas
'retry_policy' => RetryPolicy::aggressive(),
'logger' => $logger
]);
$bible = Bible::withConfig($config);
use Monolog\Logger;
use Monolog\Level;
use Monolog\Handler\StreamHandler;
$logger = new Logger('bible');
$logger->pushHandler(new StreamHandler('bible.log', Level::Debug));
$config = new BibleConfig(['logger' => $logger]);
$bible = Bible::withConfig($config);
// Logs automáticos:
// - DEBUG: Cada requisição HTTP
// - INFO: Requisições bem-sucedidas
// - WARNING: Retries, erros temporários
// - ERROR: Falhas definitivas
use HolyBible\Cache\FileCache;
$cache = new FileCache('/var/cache/bible');
$config = new BibleConfig([
'cache' => $cache,
'cache_ttl' => 86400 // 24 horas
]);
use HolyBible\Cache\CacheInterface;
class RedisCache implements CacheInterface
{
public function get(string $key): mixed { /* ... */ }
public function set(string $key, mixed $value, int $ttl = 3600): bool { /* ... */ }
public function has(string $key): bool { /* ... */ }
public function delete(string $key): bool { /* ... */ }
public function clear(): bool { /* ... */ }
}
$config = new BibleConfig(['cache' => new RedisCache()]);
$config = new BibleConfig(['cache_enabled' => false]);
use HolyBible\Bible;
use HolyBible\Config\BibleConfig;
// 1. Configure o caminho para o arquivo .sqlite
$config = new BibleConfig([
'sqlite_path' => 'bible.sqlite',
'version' => 'nvi'
]);
// 2. A fachada Bible trocará automaticamente para o modo offline
$bible = Bible::withConfig($config);
// 3. O uso permanece idêntico ao modo online (URIs mapeadas para SQL)
$chapter = $bible->getChapter(HolyBible\Books::PSALMS, 23);