Select Git revision
prepare.yml
-
Bartek Jaskulski authored
This reverts commit bc81c0f5. This doesn't really affect pipelines and thus can be safely removed. The issue with memory limits is due to forking process while generating translations, not due to improper environment variables interpretation.
Bartek Jaskulski authoredThis reverts commit bc81c0f5. This doesn't really affect pipelines and thus can be safely removed. The issue with memory limits is due to forking process while generating translations, not due to improper environment variables interpretation.
StoppableBinder.php 1.14 KiB
<?php
declare(strict_types=1);
namespace WPDesk\Init\Binding\Binder;
use Psr\Container\ContainerInterface;
use WPDesk\Init\Binding\ComposableBinder;
use WPDesk\Init\Binding\StoppableBinder as Stop;
use WPDesk\Init\Binding\Definition;
use WPDesk\Init\Binding\Binder as BinderInstance;
class StoppableBinder implements ComposableBinder {
private ContainerInterface $container;
/** @var Binder */
private $binder;
private bool $should_stop = false;
public function __construct( BinderInstance $b, ContainerInterface $c ) {
$this->binder = $b;
$this->container = $c;
}
public function can_bind( Definition $def ): bool {
return $this->binder->can_bind( $def );
}
public function bind( Definition $def ): void {
if ( $this->should_stop === true ) {
return;
}
$this->binder->bind( $def );
if ( $this->can_be_stoppable( $def ) ) {
$binding = $this->container->get( $def->value() );
if ( $binding instanceof Stop && $binding->should_stop() ) {
$this->should_stop = true;
}
}
}
private function can_be_stoppable( Definition $def ): bool {
return is_string( $def->value() ) && class_exists( $def->value() );
}
}