gitonomy/gitlib
Gitonomy Gitlib is a PHP library for interacting with Git repositories programmatically. Read commits, trees, branches, tags and diffs; run Git commands via a clean API and work with local repos from your apps, tools, or CI scripts.
In git, a blob represents a file content. You can't access the file name directly from the Blob object; the filename information is stored within the tree, not in the blob.
It means that for git, two files with different names but same content will have the same hash.
To access a repository Blob, you need the hash identifier:
$repository = new Gitonomy\Git\Repository('/path/to/repository');
$blob = $repository->getBlob('a7c8d2b4');
To get content from a Blob object:
echo $blob->getContent();
To get mimetype of a Blob object using finfo extension:
echo $blob->getMimetype();
You can also test if Blob is a text of a binary file:
if ($blob->isText()) {
echo $blob->getContent(), PHP_EOL;
} elseif ($blob->isBinary()) {
echo 'File is binary', PHP_EOL;
}
How can I help you explore Laravel packages today?