Siirry sisältöön

API

Rudel\Rudel on staattinen julkisivu. Jokainen tällä sivulla kuvattu metodi on kyseisen luokan julkinen staattinen metodi.

PHP
use Rudel\Rudel;

if ( Rudel::is_sandbox() ) {
    error_log( 'Running in sandbox ' . Rudel::id() );
}

Elinkaarimetodit, jotka kloonaavat tai poistavat tauluja (create(), create_from_git(), destroy(), cleanup(), cleanup_merged()), tarvitsevat käynnissä olevan WordPress-pyynnön, jossa on $wpdb. Ne heittävät RuntimeException-poikkeuksen, jos niitä kutsutaan kohteen Rudel::init() jälkeen kohteen WordPress ulkopuolella. Katso Itsenäinen käyttö.

Ajonaikainen konteksti

Nämä metodit kuvaavat nykyistä pyyntöä. Hiekkalaatikon ulkopuolella ne palauttavat arvon false tai null.

Metodi Palautusarvo
is_sandbox(): bool true, kun nykyinen pyyntö suoritetaan hiekkalaatikossa
id(): ?string nykyisen hiekkalaatikon tunnus
path(): ?string nykyisen hiekkalaatikon hakemisto
engine(): ?string overlay hiekkalaatikossa
table_prefix(): ?string hiekkalaatikon taulujen etuliite, esimerkiksi wp_b65338d_
url(): ?string hiekkalaatikon URL; peitehiekkalaatikot jakavat isännän kohteen URL
exit_url(): string isännän kohteen URL
is_email_disabled(): bool true, kun lähtevien sähköpostien lähetys on estetty pyynnössä
log_path(): ?string {sandbox directory}/debug.log
version(): ?string asennettu Rudel-versio
cli_command(): string kohteen WP-CLI juurikomento, rudel, ellei kohdetta RUDEL_CLI_COMMAND ole asetettu

Rudel::context(): array

Palauttaa kaikki yllä mainitut yhdessä taulukossa:

PHP
[
    '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

Palauttaa saman ajonaikaisen yhteenvedon kuin wp rudel status taulukkona: käynnistystila, nykyinen hiekkalaatikko, hiekkalaatikoiden hakemisto ja määrä, kohteen rudel_config arvot sekä tieto siitä, onko automaatio ajastettu.

Hiekkalaatikkotietueet

Hiekkalaatikot palautetaan Rudel\Environment-olioina. Hyödyllisiä vain luku -ominaisuuksia ovat id, name, path, created_at, status, template, owner, labels, purpose, expires_at, last_used_at, theme_slug, table_prefix ja clone_source. Metodeihin kuuluvat is_protected(), get_url(), get_table_prefix(), get_size() ja to_array().

Rudel::all(): array

Palauttaa kaikki hiekkalaatikot Environment-olioiden taulukkona. Ei ota suodattimia.

PHP
foreach ( Rudel::all() as $sandbox ) {
    echo $sandbox->id . ' ' . $sandbox->status . "\n";
}

Rudel::get( string $id ): ?Environment

Lataa yhden hiekkalaatikon tunnuksen perusteella tai palauttaa arvon null.

PHP
$sandbox = Rudel::get( 'alpha-3be7' );

Rudel::environments_dir(): string

Palauttaa hakemiston, jossa hiekkalaatikkohakemistot sijaitsevat.

Elinkaari

Rudel::create( string $name, array $options = [] ): Environment

Luo hiekkalaatikon ja palauttaa sen. Tunnus muodostetaan nimestä ja neljästä heksadesimaalimerkistä.

PHP
$sandbox = Rudel::create( 'alpha', [
    'theme'    => 'twentytwentyfour',
    'owner'    => 'dennis',
    'labels'   => [ 'qa', 'agent' ],
    'ttl_days' => 7,
] );

Asetukset:

Avain Merkitys
theme hiekkalaatikkoon kopioitavan teeman tunniste; oletuksena isännän aktiivinen teema
clone_from olemassa olevan hiekkalaatikon tunnus, joka kloonataan isännän sijaan
owner, purpose vapaamuotoinen metadata
labels taulukko tai pilkuilla eroteltu merkkijono
protected true hiekkalaatikon siivoamisen estämiseksi
ttl_days vanhenemisaika luontihetkestä laskettuna
expires_at nimenomainen vanhenemisen aikaleima
template tietueeseen tallennettava tunniste; ei lataa tallennettua mallipohjaa
site_options asetusten nimet ja skalaariset arvot, jotka kirjoitetaan hiekkalaatikon asetustauluun
skip_limits true, jolla ohitetaan kohteet max_sandboxes ja max_disk_mb

Rudel::create_from_git( string $remote_url, array $options = [] ): array

Luo hiekkalaatikon ja kloonaa sitten $remote_url siihen. Hyväksyy asetukset create() sekä name (oletuksena repositorion nimi) ja type (theme tai plugin). Palauttaa arvon [ 'environment' => Environment, 'git' => [...] ]. Epäonnistunut kloonaus ei peruuta hiekkalaatikon luontia; virhe palautetaan kohteessa git.error. Katso Git.

Rudel::update( string $id, array $changes ): Environment

Päivittää elinkaarimetadatan ja palauttaa päivitetyn hiekkalaatikon. Hyväksyttyihin avaimiin kuuluvat owner, labels, purpose, protected, ttl_days (suhteessa nykyhetkeen), expires_at, clear_expiry, name ja site_options.

PHP
Rudel::update( 'alpha-3be7', [ 'protected' => true, 'ttl_days' => 3 ] );

Rudel::destroy( string $id ): bool

Poistaa hiekkalaatikon taulut, sen hakemiston ja siihen linkitetyt työpuut sekä tietueen. Palauttaa arvon false, jos tunnusta ei ole olemassa. Suojausta ei tarkisteta: myös suojatut hiekkalaatikot tuhotaan.

Rudel::cleanup( array $options = [] ): array

Suorittaa vanhenemis-, ikä- ja käyttämättömyyskäytännön. Asetukset: dry_run (bool), max_age_days ja max_idle_days (ohittavat kohteen rudel_config, kun arvo ei ole nolla). Palauttaa arvot removed, skipped, errors ja reasons (tunnus ja jokin arvoista expired, age, idle tai protected). Katso Siivous.

Rudel::cleanup_merged( array $options = [] ): array

Poistaa hiekkalaatikot, joiden linkitettyjen Git-työpuiden haarat on yhdistetty repositorion oletushaaraan. Asetus: dry_run.

Rudel::touch_current_environment(): void

Kirjaa nykyisen hiekkalaatikon toiminnan (last_used_at). Rudel kutsuu sitä jokaisella hiekkalaatikkopyynnöllä.

Lokit

Rudel::read_log( string $id, int $lines = 50 ): array

Palauttaa hiekkalaatikon debug.log-tiedoston viimeiset rivit muodossa path, exists, empty, total_lines ja lines.

Rudel::clear_log( string $id ): array

Tyhjentää hiekkalaatikon debug.log-tiedoston ja palauttaa arvot path, existed ja cleared.

Tilannevedokset

Rudel::snapshot( string $id, string $name ): array

Luo tilannevedoksen ja palauttaa sen metatiedot (name, created_at, sandbox_id).

Rudel::restore( string $id, string $name ): void

Palauttaa tilannevedoksen. Oletusasetuksella auto_snapshot_before_restore Rudel tallentaa ensin pre-restore-...-tilannevedoksen.

Rudel::snapshots( string $id ): array

Luettelee tilannevedosten metatiedot uusimmasta vanhimpaan. Katso Tilannevedokset.

Mallipohjat

  • Rudel::save_template( string $id, string $name, string $description = '' ): array
  • Rudel::templates(): array
  • Rudel::delete_template( string $name ): bool

Tallennetut mallipohjat ovat vain tiedostokopioita. Mikään API tai komento ei luo hiekkalaatikkoa niiden pohjalta. Katso Mallipohjat.

Git

Rudel::push( string $id, string $remote_url = '', string $message = 'Update from Rudel', string $subdir = '' ): ?string

Vahvistaa hiekkalaatikon hakemiston sisällä olevan työkopion muutokset ja työntää ne haaraan rudel/{id}. $remote_url ja $subdir käyttävät oletuksena hiekkalaatikkoon tallennettuja arvoja. Palauttaa commit SHA -tunnisteen tai arvon null, jos muutoksia ei ole.

Automaatio

  • Rudel::run_automation(): array suorittaa ajastetut automaatiotehtävät nyt.
  • Rudel::run_scheduled_cleanup(): array tekee saman.

Katso Automaatio.

Koukut ja komentoluettelo

  • Rudel::hooks(): array palauttaa dokumentoidun hook-luettelon hook-nimen mukaan avaimella. Katso Hookit.
  • Rudel::cli_command_map(): array palauttaa sarjoitettavan kuvauksen jokaisesta wp rudel-komennosta ja sen taustalla olevasta PHP-metodista.
  • Rudel::resolve_cli_command( $path, array $args = [], array $assoc_args = [] ): array muuntaa jäsennetyn komennon suoritusohjeeksi suorittamatta sitä.
PHP
$plan = Rudel::resolve_cli_command( 'wp rudel destroy', [ 'alpha-3be7' ] );
// $plan['callable']           => 'Rudel\Rudel::destroy'
// $plan['arguments']          => [ 'alpha-3be7' ]
// $plan['needs_confirmation'] => true

Useimmat suoritusohjeet käyttävät siirtotapaa php. logs --follow palauttaa kohteessa tail -f suoritettavan shell-ohjeen.

Itsenäinen alustus

Rudel::init( Connection $connection, array $context = [] ): void

Ohjaa julkisivun käyttämään suoraa MySQL-yhteyttä kohteen WordPress ulkopuolella. $context hyväksyy arvon environments_dir.

PHP
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(): void luo Rudel-taulut aktiiviselle yhteydelle.
  • Rudel::reset(): void tyhjentää itsenäisen yhteyden ja välimuistissa olevan tilan.