PSR4.php in Drupal 7 to 8/9 Module Upgrader 8
File
src/Plugin/DMU/Converter/PSR4.php
View source
<?php
namespace Drupal\drupalmoduleupgrader\Plugin\DMU\Converter;
use Drupal\drupalmoduleupgrader\ConverterBase;
use Drupal\drupalmoduleupgrader\TargetInterface;
use Pharborist\Objects\ClassNode;
use Pharborist\RootNode;
use Pharborist\WhitespaceNode;
class PSR4 extends ConverterBase {
public function isExecutable(TargetInterface $target) {
return (bool) $target
->getIndexer('class')
->getQuery()
->countQuery()
->execute();
}
public function convert(TargetInterface $target) {
$target
->getIndexer('class')
->getAll()
->each(function (ClassNode $class) use ($target) {
$this
->writeClass($target, self::toPSR4($target, $class));
});
}
public static function toPSR4(TargetInterface $target, ClassNode $class) {
$ns = 'Drupal\\' . $target
->id();
RootNode::create($ns)
->getNamespace($ns)
->append($class
->remove());
WhitespaceNode::create("\n\n")
->insertBefore($class);
return $class;
}
}
Classes
Name |
Description |
PSR4 |
Plugin annotation
@Converter(
id = "PSR4",
description = @Translation("Moves classes into PSR-4 directory structure.")
) |