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

Artisan príkazy

tags:types

php artisan tags:types          # Name, Label, Hierarchy, Max, Creation, Slugs, Scopes, Models, API, Source, Overrides
php artisan tags:types --json

Každý typ, jeho pravidlá, kde bol definovaný a čo ho upravilo (pozrite Typy štítkov).

tags:doctor

Kontroly len na čítanie pre všetko, v čom sa dáta alebo nastavenie môžu rozchádzať a čo by zápis neodhalil. Každé zistenie má závažnosť (error alebo warning), sekciu a zrozumiteľné hlásenie; príkaz skončí kódom 1, ak je niektoré zistenie chybou:

php artisan tags:doctor              # every check; exits 1 when any finding is an error
php artisan tags:doctor --counts     # also compare every usage count with its taggings
php artisan tags:doctor --json       # [{"severity": "error", "section": "locales", "message": "…"}]
SekciaÚroveňKontroluje
typeserrorŠtítky typu, ktorý nikto nedefinuje; extend() či override názvu, ktorý nikto nedefinuje; typ, ktorý sa nedá vyhodnotiť.
limitserrorModely s viac štítkami typu, než je jeho limit.
treeserror / warningRodičia na plochom type, štítky hlbšie, než dovoľuje maximálna hĺbka typu (znížený limit existujúce dáta neprepíše), cesta či hĺbka nesúhlasiaca s rodičmi, cykly rodičov (parent_id opravte ručne); živé štítky pod zmazaným rodičom (upozornenie).
scopeserror / warningKľúč rozsahu nesúhlasiaci s rozsahom; modely, ktorých tagScope() nie je uložený model s kľúčom typu tags.key_type; priradenia mimo aktuálneho tagScope() modelu — najbližší sync daného typu ich odstráni (upozornenie).
indexeserrorPodporovaný jazyk bez unikátneho indexu slugov.
localeserror / warningJazyk aplikácie mimo translatable.locales — označovanie podľa názvu zlyhá, kým ho nepridáte; záložný jazyk mimo neho (upozornenie).
keys, connectionserror / warningModel so štítkami či model rozsahu s iným kľúčom než tags.key_type; model na inom databázovom spojení ako tabuľky štítkov (upozornenie).
countswarningS --counts: počty použití nesúhlasiace s priradeniami.
orphans, trashedwarning / errorPriradenia, ktorých model už neexistuje (upozornenie); priradenia na zmazaných štítkoch a typy modelov, ktoré nie sú triedou modelu (chyby).
routeswarningJSON API zapnuté bez auth middleware.

Spúšťajte ho po veľkých importoch či zmenách nastavení a v CI po migrácii. Priradenia prechádza po dávkach, takže je bezpečný aj na veľkej živej databáze.

tags:repair

Uvedie odvodené dáta do súladu so skutočnosťou — všetky štyri opravy, ak voľby nevyberú len niektoré:

php artisan tags:repair                            # paths, scope keys, orphans and counts
php artisan tags:repair --counts --type=label       # only usage counts of one type
php artisan tags:repair --orphans --dry-run         # report what would be fixed, write nothing
php artisan tags:repair --paths --scope-keys
VoľbaVýznam
--pathsPrepočíta cesty a hĺbky z reťaze rodičov, strom po strome pod jeho zámkom; cykly sa spočítajú, nikdy nepreskladajú.
--scope-keysPrepočíta kľúče rozsahu z morph vzťahu rozsahu.
--orphansZmaže priradenia, ktorých model už neexistuje (hromadné mazanie), a prepočíta počty použití dotknutých štítkov, takže samotné --orphans ich nechá presné; a priradenia na zmazaných štítkoch (obyčajné $tag->delete()), ktorým vynuluje počty.
--countsPrepočíta počty použití z priradení, po dávkach pod zámkami riadkov — presne aj počas súbežného označovania.
--type=Len štítky tohto typu.
--dry-runVypíše, čo by sa opravilo; nič nezapíše ani nezamkne.

Vypíše, čo opravil (alebo by opravil): cesty, cykly (ponechané), kľúče rozsahu, osirotené priradenia, priradenia na zmazaných štítkoch a počty použití, a upozorní na priradenia typu modelu, ktorý nie je triedou modelu — tie nechá tak. Tá istá oprava z PHP:

use RoundlyConsulting\Tags\DataTransferObjects\RepairOptions;

$report = Tags::repair(new RepairOptions(paths: false, scopeKeys: false, type: 'label', dryRun: true));

$report->counts;               // tags whose usage count was (or would be) off
$report->orphans;              // taggings whose model is gone
$report->trashedTaggings;      // taggings left on deleted tags
$report->unresolvableTypes;    // taggable types that are no model class
$report->isClean();

Do plánovača sa nič nepridáva; balík žiadnu plánovanú úlohu nepotrebuje.

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.