API
Rudel\Rudel yra statinė fasadinė klasė. Kiekvienas šiame puslapyje aprašytas metodas yra viešas statinis šios klasės metodas.
use Rudel\Rudel;
if ( Rudel::is_sandbox() ) {
error_log( 'Running in sandbox ' . Rudel::id() );
}
Gyvavimo ciklo metodams, kurie klonuoja arba pašalina lenteles (create(), create_from_git(), destroy(), cleanup(), cleanup_merged()), reikia aktyvios WordPress užklausos su $wpdb. Jei jie iškviečiami po Rudel::init(), už WordPress ribų, išmetama RuntimeException. Žr. Atskiras naudojimas.
Vykdymo aplinka
Šie metodai aprašo dabartinę užklausą. Už smėliadėžės ribų jie grąžina false arba null.
| Metodas | Grąžina |
|---|---|
is_sandbox(): bool |
true, jei dabartinė užklausa vykdoma smėliadėžėje |
id(): ?string |
Dabartinės smėliadėžės ID |
path(): ?string |
Dabartinės smėliadėžės katalogas |
engine(): ?string |
overlay smėliadėžėje |
table_prefix(): ?string |
Smėliadėžės lentelių prefiksas, pavyzdžiui, wp_b65338d_ |
url(): ?string |
Smėliadėžės URL; perdangos smėliadėžės naudoja bendrą prieglobos URL |
exit_url(): string |
Prieglobos URL |
is_email_disabled(): bool |
true, kai užklausoje blokuojamas siunčiamas paštas |
log_path(): ?string |
{sandbox directory}/debug.log |
version(): ?string |
Įdiegta Rudel versija |
cli_command(): string |
Pagrindinė WP-CLI komanda, rudel, nebent nustatytas RUDEL_CLI_COMMAND |
Rudel::context(): array
Grąžina visa tai viename masyve:
[
'is_sandbox' => true,
'id' => 'alpha-3be7',
'path' => '/var/www/html/wp-content/rudel-environments/alpha-3be7',
'engine' => 'overlay',
'table_prefix' => 'wp_b65338d_',
'url' => 'http://localhost/',
'exit_url' => 'http://localhost/',
'email_disabled' => true,
'log_path' => '/var/www/html/wp-content/rudel-environments/alpha-3be7/debug.log',
'version' => '0.10.0',
'cli_command' => 'rudel',
]
Rudel::status(): array
Grąžina tą pačią vykdymo aplinkos suvestinę kaip wp rudel status, masyvo pavidalu: inicijavimo būseną, dabartinę smėliadėžę, smėliadėžių katalogą ir skaičių, rudel_config reikšmes bei informaciją, ar automatizavimas suplanuotas.
Smėliadėžių įrašai
Smėliadėžės grąžinamos kaip Rudel\Environment objektai. Naudingos tik skaityti skirtos savybės: id, name, path, created_at, status, template, owner, labels, purpose, expires_at, last_used_at, theme_slug, table_prefix ir clone_source. Metodai: is_protected(), get_url(), get_table_prefix(), get_size() ir to_array().
Rudel::all(): array
Grąžina visas smėliadėžes kaip Environment objektų masyvą. Filtrų nėra.
foreach ( Rudel::all() as $sandbox ) {
echo $sandbox->id . ' ' . $sandbox->status . "\n";
}
Rudel::get( string $id ): ?Environment
Pagal ID įkelia vieną smėliadėžę arba grąžina null.
$sandbox = Rudel::get( 'alpha-3be7' );
Rudel::environments_dir(): string
Grąžina katalogą, kuriame laikomi smėliadėžių katalogai.
Gyvavimo ciklas
Rudel::create( string $name, array $options = [] ): Environment
Sukuria smėliadėžę ir ją grąžina. ID sudaromas iš pavadinimo ir keturių šešioliktainių simbolių.
$sandbox = Rudel::create( 'alpha', [
'theme' => 'twentytwentyfour',
'owner' => 'dennis',
'labels' => [ 'qa', 'agent' ],
'ttl_days' => 7,
] );
Parinktys:
| Raktas | Reikšmė |
|---|---|
theme |
Temai skirtas identifikatorius, kopijuojamas į smėliadėžę; numatytoji reikšmė – aktyvi prieglobos tema |
clone_from |
Esamos smėliadėžės, klonuojamos vietoj prieglobos, ID |
owner, purpose |
Laisvojo teksto metaduomenys |
labels |
Masyvas arba kableliais atskirta eilutė |
protected |
true, kad smėliadėžė nebūtų pašalinta valant |
ttl_days |
Galiojimo pabaiga nuo sukūrimo laiko |
expires_at |
Aiškiai nurodyta galiojimo pabaigos laiko žyma |
template |
Įraše saugoma žyma; ji neįkelia išsaugoto šablono |
site_options |
Parinkčių pavadinimai ir skaliarinės reikšmės, įrašomos į smėliadėžės parinkčių lentelę |
skip_limits |
true, kad būtų apeiti max_sandboxes ir max_disk_mb |
Rudel::create_from_git( string $remote_url, array $options = [] ): array
Sukuria smėliadėžę, tada į ją klonuoja $remote_url. Priima parinktis create(), taip pat name (numatytoji reikšmė – saugyklos pavadinimas) ir type (theme arba plugin). Grąžina [ 'environment' => Environment, 'git' => [...] ]. Nepavykus klonuoti smėliadėžė neatkuriama; klaida grąžinama laukelyje git.error. Žr. GitSmėliadėžių klonavimas.
Rudel::update( string $id, array $changes ): Environment
Atnaujina gyvavimo ciklo metaduomenis ir grąžina atnaujintą smėliadėžę. Priimami raktai: owner, labels, purpose, protected, ttl_days (nuo dabar), expires_at, clear_expiry, name ir site_options.
Rudel::update( 'alpha-3be7', [ 'protected' => true, 'ttl_days' => 3 ] );
Rudel::destroy( string $id ): bool
Pašalina smėliadėžės lenteles, jos katalogą ir susietus darbinius medžius bei ištrina įrašą. Jei ID neegzistuoja, grąžina false. Apsaugos netikrinamos: sunaikinamos ir apsaugotos smėliadėžės.
Rudel::cleanup( array $options = [] ): array
Taiko galiojimo pabaigos, amžiaus ir neaktyvumo politiką. Parinktys: dry_run (loginė reikšmė), max_age_days ir max_idle_days (kai reikšmė nelygi nuliui, pakeičia rudel_config). Grąžina removed, skipped, errors ir reasons (ID susietas su expired, age, idle arba protected). Žr. Valymas.
Rudel::cleanup_merged( array $options = [] ): array
Pašalina smėliadėžes, kurių susietos Git darbinio medžio šakos sujungtos su numatytąja saugyklos šaka. Parinktis: dry_run.
Rudel::touch_current_environment(): void
Įrašo dabartinės smėliadėžės veiklą (last_used_at). Rudel tai atlieka kiekvienai smėliadėžės užklausai.
Žurnalai
Rudel::read_log( string $id, int $lines = 50 ): array
Grąžina paskutines smėliadėžės debug.log eilutes kaip path, exists, empty, total_lines ir lines.
Rudel::clear_log( string $id ): array
Išvalo smėliadėžės debug.log ir grąžina path, existed ir cleared.
Momentinės kopijos
Rudel::snapshot( string $id, string $name ): array
Sukuria momentinę kopiją ir grąžina jos metaduomenis (name, created_at, sandbox_id).
Rudel::restore( string $id, string $name ): void
Atkuria momentinę kopiją. Naudojant numatytąjį nustatymą auto_snapshot_before_restore, Rudel pirmiausia išsaugo pre-restore-... momentinę kopiją.
Rudel::snapshots( string $id ): array
Pateikia momentinių kopijų metaduomenis, pradedant naujausiais. Žr. Momentinės kopijos.
Šablonai
Rudel::save_template( string $id, string $name, string $description = '' ): arrayRudel::templates(): arrayRudel::delete_template( string $name ): bool
Išsaugoti šablonai yra tik failų kopijos. Jokia API ar komanda nesukuria smėliadėžės iš šablono. Žr. Šablonai.
Git
Rudel::push( string $id, string $remote_url = '', string $message = 'Update from Rudel', string $subdir = '' ): ?string
Įrašo pakeitimus ir išsiunčia smėlio dėžėje esantį darbinį medį į šaką rudel/{id}. $remote_url ir $subdir pagal numatytuosius nustatymus naudoja smėlio dėžėje išsaugotas reikšmes. Grąžina įrašo SHA arba null, jei pakeitimų nebuvo.
Automatizavimas
Rudel::run_automation(): arraydabar paleidžia suplanuotas automatizavimo užduotis.Rudel::run_scheduled_cleanup(): arrayatlieka tą patį.
Žr. Automatizavimas.
Kabliukai ir komandų katalogas
Rudel::hooks(): arraygrąžina dokumentuotą kabliukų katalogą, surikiuotą pagal kabliuko pavadinimą. Žr. Kabliukai.Rudel::cli_command_map(): arraygrąžina serializuojamą kiekvienoswp rudelkomandos ir už jos esančio PHP metodo aprašą.Rudel::resolve_cli_command( $path, array $args = [], array $assoc_args = [] ): arraypaverčia vieną išanalizuotą komandą vykdymo planu jos nepaleisdamas.
$plan = Rudel::resolve_cli_command( 'wp rudel destroy', [ 'alpha-3be7' ] );
// $plan['callable'] => 'Rudel\Rudel::destroy'
// $plan['arguments'] => [ 'alpha-3be7' ]
// $plan['needs_confirmation'] => true
Dauguma planų naudoja php transportą. logs --follow išsprendžiamas į shell planą, vykdomą tail -f.
Atskiras inicijavimas
Rudel::init( Connection $connection, array $context = [] ): void
Nukreipia fasadą į tiesioginį MySQL ryšį, skirtą naudoti už WordPress ribų. $context priima environments_dir.
use Rudel\Connection;
use Rudel\Rudel;
Rudel::init(
new Connection( '127.0.0.1', 'wordpress', 'root', 'root', 'wp_' ),
[ 'environments_dir' => '/var/www/html/wp-content/rudel-environments' ]
);
Rudel::ensure_schema(): voidsukuria aktyvaus ryšio Rudel lenteles.Rudel::reset(): voidišvalo atskirą ryšį ir talpyklos būseną.