API
Rudel\Rudel ir statiska fasāde. Katra šajā lapā aprakstītā metode ir šīs klases publiska statiska metode.
use Rudel\Rudel;
if ( Rudel::is_sandbox() ) {
error_log( 'Running in sandbox ' . Rudel::id() );
}
Dzīvescikla metodēm, kas klonē vai dzēš tabulas (create(), create_from_git(), destroy(), cleanup(), cleanup_merged()), nepieciešams aktīvs WordPress pieprasījums ar $wpdb. Ja tās izsauc pēc Rudel::init() ārpus WordPress, tiek izraisīts RuntimeException. Skatiet Patstāvīga lietošana.
Izpildlaika konteksts
Šīs metodes raksturo pašreizējo pieprasījumu. Ārpus smilškastes tās atgriež false vai null.
| Metode | Atgriež |
|---|---|
is_sandbox(): bool |
true, ja pašreizējais pieprasījums darbojas smilškastē |
id(): ?string |
pašreizējās smilškastes ID |
path(): ?string |
pašreizējās smilškastes direktoriju |
engine(): ?string |
overlay smilškastē |
table_prefix(): ?string |
smilškastes tabulu prefiksu, piemēram, wp_b65338d_ |
url(): ?string |
smilškastes URL; pārklājuma smilškastēm ir kopīga saimnieka URL |
exit_url(): string |
saimnieka URL |
is_email_disabled(): bool |
true, ja pieprasījumam ir bloķēta izejošā pasta sūtīšana |
log_path(): ?string |
{sandbox directory}/debug.log |
version(): ?string |
instalēto Rudel versiju |
cli_command(): string |
WP-CLI saknes komandu, rudel, ja vien nav iestatīts RUDEL_CLI_COMMAND |
Rudel::context(): array
Atgriež visu iepriekš minēto vienā masīvā:
[
'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
Atgriež tādu pašu izpildlaika kopsavilkumu kā wp rudel status, masīva formā: sākotnējās ielādes stāvokli, pašreizējo smilškasti, smilškastu direktoriju un skaitu, vērtības rudel_config un to, vai ir ieplānota automatizācija.
Smilškastu ieraksti
Smilškastes tiek atgrieztas kā Rudel\Environment objekti. Noderīgas tikai lasāmas īpašības ir id, name, path, created_at, status, template, owner, labels, purpose, expires_at, last_used_at, theme_slug, table_prefix un clone_source. Metodes ir is_protected(), get_url(), get_table_prefix(), get_size() un to_array().
Rudel::all(): array
Atgriež katru smilškasti kā Environment objektu masīvu. Filtrus nevar norādīt.
foreach ( Rudel::all() as $sandbox ) {
echo $sandbox->id . ' ' . $sandbox->status . "\n";
}
Rudel::get( string $id ): ?Environment
Ielādē smilškasti pēc ID vai atgriež null.
$sandbox = Rudel::get( 'alpha-3be7' );
Rudel::environments_dir(): string
Atgriež direktoriju, kurā atrodas smilškastu direktorijas.
Dzīves cikls
Rudel::create( string $name, array $options = [] ): Environment
Izveido smilškasti un atgriež to. ID tiek ģenerēts no nosaukuma un četrām heksadecimālām rakstzīmēm.
$sandbox = Rudel::create( 'alpha', [
'theme' => 'twentytwentyfour',
'owner' => 'dennis',
'labels' => [ 'qa', 'agent' ],
'ttl_days' => 7,
] );
Opcijas:
| Atslēga | Nozīme |
|---|---|
theme |
smilškastē kopējamās tēmas slug; pēc noklusējuma — saimniekdatora aktīvā tēma |
clone_from |
esošas smilškastes ID, ko klonēt saimniekdatora vietā |
owner, purpose |
brīvā teksta metadati |
labels |
masīvs vai ar komatiem atdalīta virkne |
protected |
true, lai izslēgtu smilškasti no tīrīšanas |
ttl_days |
derīguma termiņš no izveides brīža |
expires_at |
skaidri norādīta derīguma termiņa laika atzīme |
template |
ierakstā saglabāta etiķete; tā neielādē saglabātu veidni |
site_options |
opciju nosaukumi un skalārās vērtības, ko ieraksta smilškastes opciju tabulā |
skip_limits |
true, lai apietu max_sandboxes un max_disk_mb |
Rudel::create_from_git( string $remote_url, array $options = [] ): array
Izveido smilškasti un pēc tam tajā klonē $remote_url. Pieņem create() opcijas, kā arī name (pēc noklusējuma — repozitorija nosaukums) un type (theme vai plugin). Atgriež [ 'environment' => Environment, 'git' => [...] ]. Ja klonēšana neizdodas, smilškaste netiek atcelta; kļūda tiek atgriezta laukā git.error. Skatiet Git.
Rudel::update( string $id, array $changes ): Environment
Atjaunina dzīvescikla metadatus un atgriež atsvaidzināto smilškasti. Pieņemtās atslēgas: owner, labels, purpose, protected, ttl_days (attiecībā pret pašreizējo brīdi), expires_at, clear_expiry, name un site_options.
Rudel::update( 'alpha-3be7', [ 'protected' => true, 'ttl_days' => 3 ] );
Rudel::destroy( string $id ): bool
Dzēš smilškastes tabulas, tās direktoriju un saistītos darba kokus, kā arī tās ierakstu. Ja ID neeksistē, atgriež false. Aizsardzība netiek pārbaudīta: tiek iznīcinātas arī aizsargātas smilškastes.
Rudel::cleanup( array $options = [] ): array
Izpilda derīguma termiņa, vecuma un neaktivitātes politiku. Opcijas: dry_run (bool), max_age_days un max_idle_days (ja vērtība nav nulle, ignorē rudel_config). Atgriež removed, skipped, errors un reasons (ID un expired, age, idle vai protected). Skatiet Tīrīšana.
Rudel::cleanup_merged( array $options = [] ): array
Noņem smilškastes, kuru saistīto Git darba koku atzari ir sapludināti repozitorija noklusējuma atzarā. Opcija: dry_run.
Rudel::touch_current_environment(): void
Reģistrē pašreizējās smilškastes darbību (last_used_at). Rudel izsauc šo metodi katrā smilškastes pieprasījumā.
Žurnāli
Rudel::read_log( string $id, int $lines = 50 ): array
Atgriež pēdējās smilškastes debug.log rindas kā path, exists, empty, total_lines un lines.
Rudel::clear_log( string $id ): array
Iztukšo smilškastes debug.log un atgriež path, existed un cleared.
Momentuzņēmumi
Rudel::snapshot( string $id, string $name ): array
Izveido momentuzņēmumu un atgriež tā metadatus (name, created_at, sandbox_id).
Rudel::restore( string $id, string $name ): void
Atjauno momentuzņēmumu. Ja tiek izmantots noklusējuma iestatījums auto_snapshot_before_restore, Rudel vispirms saglabā pre-restore-... momentuzņēmumu.
Rudel::snapshots( string $id ): array
Uzskaita momentuzņēmumu metadatus, sākot ar jaunākajiem. Skatiet Momentuzņēmumi.
Veidnes
Rudel::save_template( string $id, string $name, string $description = '' ): arrayRudel::templates(): arrayRudel::delete_template( string $name ): bool
Saglabātās veidnes ir tikai failu kopijas. Neviens API vai komanda no tām neizveido smilškasti. Skatiet Veidnes.
Git
Rudel::push( string $id, string $remote_url = '', string $message = 'Update from Rudel', string $subdir = '' ): ?string
Apstiprina un nosūta smilškastes direktorijā esošo darba kopiju uz atzaru rudel/{id}. $remote_url un $subdir pēc noklusējuma izmanto smilškastē saglabātās vērtības. Atgriež apstiprinājuma SHA vai null, ja izmaiņu nav.
Automatizācija
Rudel::run_automation(): arraypalaiž ieplānotos automatizācijas uzdevumus tūlīt.Rudel::run_scheduled_cleanup(): arrayveic to pašu.
Skatiet Automatizācija.
Āķi un komandu katalogs
Rudel::hooks(): arrayatgriež dokumentēto āķu katalogu, kas sakārtots pēc āķa nosaukuma. Skatiet Āķi.Rudel::cli_command_map(): arrayatgriež serializējamu aprakstu par katruwp rudelkomandu un tai atbilstošo metodi PHP.Rudel::resolve_cli_command( $path, array $args = [], array $assoc_args = [] ): arraypārvērš vienu parsētu komandu izpildes plānā, to neizpildot.
$plan = Rudel::resolve_cli_command( 'wp rudel destroy', [ 'alpha-3be7' ] );
// $plan['callable'] => 'Rudel\Rudel::destroy'
// $plan['arguments'] => [ 'alpha-3be7' ]
// $plan['needs_confirmation'] => true
Lielākajā daļā plānu tiek izmantots transports php. logs --follow tiek atrisināts kā shell plāns, kas darbojas ar tail -f.
Patstāvīga inicializācija
Rudel::init( Connection $connection, array $context = [] ): void
Norāda fasādei tiešu MySQL savienojumu lietošanai ārpus WordPress. $context pieņem 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(): voidizveido Rudel tabulas aktīvajam savienojumam.Rudel::reset(): voidnotīra patstāvīgo savienojumu un kešoto stāvokli.