namespace Rapsys\PackBundle\Command;
use Rapsys\PackBundle\Command;
+use Rapsys\PackBundle\RapsysPackBundle;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
$content = preg_replace('/^(RAPSYSPACK_RANGE=.*)$/m', '#$1'."\n".strtr($string, ['\\' => '\\\\', '\\$' => '\\\\$']), $content);
//Without match
} else {
- $content .= "\n".$string;
+ //Append string
+ $content .= (strlen($content)?"\n\n":'').'###> '.RapsysPackBundle::getBundleAlias().' ###'."\n".$string."\n".'###< '.RapsysPackBundle::getBundleAlias().' ###';
}
//Write file content
*
* @return string The bundle alias
*/
+ public static function getBundleAlias(): string {
+ //With namespace
+ if ($npos = strrpos(static::class, '\\')) {
+ //Set name pos
+ $npos++;
+
+ //With single namespace
+ $nspos = strpos(static::class, '\\');
+ //Without namespace
+ } else {
+ //Set name pos
+ $npos = 0;
+ }
+
+ //With trailing bundle
+ if (substr(static::class, -strlen('Bundle'), strlen('Bundle')) === 'Bundle') {
+ //Set bundle pos
+ $bpos = strlen(static::class) - $npos - strlen('Bundle');
+ //Without bundle
+ } else {
+ //Set bundle pos
+ $bpos = strlen(static::class) - $npos;
+ }
+
+ //With namespace
+ if ($npos) {
+ //Return prefixed class name
+ return strtolower(substr(static::class, 0, $nspos).'/'.substr(static::class, $npos, $bpos));
+ }
+
+ //Return class name
+ return strtolower(substr(static::class, $npos, $bpos));
+ }
+
+ /**
+ * Return alias
+ *
+ * @return string The alias
+ */
public static function getAlias(): string {
//With namespace
if ($npos = strrpos(static::class, '\\')) {