1 <?php declare(strict_types=1);
3 namespace PhpParser\Builder;
6 use PhpParser\BuilderHelpers;
8 use PhpParser\Node\Stmt;
10 class Use_ implements Builder
14 protected $alias = null;
17 * Creates a name use (alias) builder.
19 * @param Node\Name|string $name Name of the entity (namespace, class, function, constant) to alias
20 * @param int $type One of the Stmt\Use_::TYPE_* constants
22 public function __construct($name, int $type) {
23 $this->name = BuilderHelpers::normalizeName($name);
28 * Sets alias for used name.
30 * @param string $alias Alias to use (last component of full name by default)
32 * @return $this The builder instance (for fluid interface)
34 public function as(string $alias) {
35 $this->alias = $alias;
40 * Returns the built node.
42 * @return Node The built node
44 public function getNode() : Node {
45 return new Stmt\Use_([
46 new Stmt\UseUse($this->name, $this->alias)