Skip to content

Commit 9d4315f

Browse files
committed
Merge pull request #4 from marcj/patch-1
Added declareUse
2 parents 23ab62d + a29cd2f commit 9d4315f

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

src/model/AbstractPhpStruct.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,37 @@ public function addUseStatement($qualifiedName, $alias = null) {
114114
return $this;
115115
}
116116

117+
/**
118+
* Declares multiple use statements at once.
119+
*/
120+
public function declareUses()
121+
{
122+
foreach (func_get_args() as $name) {
123+
$this->declareUse($name);
124+
}
125+
}
126+
127+
/**
128+
* Declares a "use $fullClassName" with " as $alias" if $alias is available,
129+
* and returns its alias (or not qualified classname) to be used in your actual
130+
* php code.
131+
*
132+
* If the class has already been declared you get only the set alias.
133+
*
134+
* @param string $fullClassName
135+
* @param null|string $alias
136+
*
137+
* @return string
138+
*/
139+
public function declareUse($fullClassName, $alias = null)
140+
{
141+
$fullClassName = trim($fullClassName, '\\');
142+
if (!$this->hasUseStatement($fullClassName)) {
143+
$this->addUseStatement($fullClassName, $alias);
144+
}
145+
return $this->getUseAlias($fullClassName);
146+
}
147+
117148
/**
118149
* Returns whether the given use statement is present
119150
*

0 commit comments

Comments
 (0)