WP_CLI

ComposerIO{}WP-CLI 1.0

A Composer IO class so we can provide some level of interactivity from WP-CLI

Хуков нет.

Использование

$ComposerIO = new ComposerIO();
// use class methods

Методы

  1. public isVerbose()
  2. private static output_clean_message( $messages )
  3. public write( $messages, $newline = true, $verbosity = self::NORMAL )
  4. public writeError( $messages, $newline = true, $verbosity = self::NORMAL )

Код ComposerIO{} WP-CLI 2.8.0-alpha

class ComposerIO extends NullIO {

	/**
	 * {@inheritDoc}
	 */
	public function isVerbose() {
		return true;
	}

	/**
	 * {@inheritDoc}
	 */
	public function write( $messages, $newline = true, $verbosity = self::NORMAL ) {
		self::output_clean_message( $messages );
	}

	/**
	 * {@inheritDoc}
	 */
	public function writeError( $messages, $newline = true, $verbosity = self::NORMAL ) {
		self::output_clean_message( $messages );
	}

	private static function output_clean_message( $messages ) {
		$messages = (array) preg_replace( '#<(https?)([^>]+)>#', '$1$2', $messages );
		foreach ( $messages as $message ) {
			// phpcs:ignore WordPress.WP.AlternativeFunctions.strip_tags_strip_tags
			WP_CLI::log( strip_tags( trim( $message ) ) );
		}
	}

}