NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Git for Laravel

Repozitáre a stránkovanie

Prihlásený účet sa vráti ako Owner:

$owner = Git::github()->user();

$owner->id;     // "1"
$owner->name;   // "jane-doe"
$owner->avatar; // avatar URL, or null

Zoznamy a stránkovanie

Zoznamové endpointy vracajú Page a nikdy potichu neorezávajú výsledky: hasMore sa riadi hlavičkou Link: rel="next" z GitHubu a veľkosť stránky nad 100 — maximum platforiem — sa obmedzí na 100 (Page hlási perPage: 100). Veľkosť stránky menšia ako 1 vyhodí InvalidArgumentException. allRepositories() vráti lenivo stránkovanú LazyCollection, ktorá ďalšiu stránku načíta až vtedy, keď na ňu prídete:

$github = Git::github();

$page = $github->repositories(perPage: 50); // Page<Repository>
$page->items;     // list<Repository>
$page->hasMore;   // bool
$page->page;      // 1
$page->collect(); // Collection<Repository>
$page->first();   // ?Repository
$page->isEmpty(); // bool
count($page);     // items on this page

foreach ($page as $repository) {
    // a Page is iterable
}

foreach ($github->allRepositories() as $repository) {
    // streams across all pages, one request at a time
}
  • items, perPage, page a hasMore — obsah stránky a jej pozícia.
  • collect() — položky ako Laravel Collection; first() — prvá položka alebo null.
  • isEmpty() a count() — Page je Countable aj iterovateľná, foreach funguje priamo.

Jeden repozitár a vyhľadávanie

$repository = Git::github()->repo('acme/api')->get();

$repository->id;             // provider id, as a string
$repository->path;           // "acme/api"
$repository->name;           // "api"
$repository->description;    // ?string
$repository->defaultBranch;  // "main"
$repository->owner->name;    // "acme"
$repository->createdAt;      // Carbon
$repository->lastActivityAt; // Carbon

Git::github()->repo($repository)->releases();                         // a returned Repository opens its own handle
$results = Git::github()->searchRepositories('laravel', perPage: 10); // Page<Repository>

Pri inštalačnom tokene GitHub App zistíte dostupné repozitáre cez installationRepositories() — pozrite sekciu Obmedzené tokeny a inštalácie.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.