namespace Rapsys\PackBundle;
-use Symfony\Component\DependencyInjection\Container;
+use Rapsys\PackBundle\DependencyInjection\RapsysPackExtension;
+
+use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
use Symfony\Component\HttpKernel\Bundle\Bundle;
/**
* {@inheritdoc}
*/
class RapsysPackBundle extends Bundle {
+ /**
+ * {@inheritdoc}
+ */
+ public function getContainerExtension(): ?ExtensionInterface {
+ //Return created container extension
+ return $this->createContainerExtension();
+ }
+
/**
* Return bundle alias
*
* @return string The bundle alias
*/
- public function getAlias(): string {
+ 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, '\\')) {
//Set name pos
$bpos = strlen(static::class) - $npos;
}
- //Return underscored lowercase bundle alias
- return Container::underscore(substr(static::class, $npos, $bpos));
- }
+ //Return lowercase bundle alias
+ return strtolower(substr(static::class, $npos, $bpos));
+ }
+
+ /**
+ * Return bundle version
+ *
+ * @return string The bundle version
+ */
+ public static function getVersion(): string {
+ //Return version
+ return '0.5.2';
+ }
}