X-Git-Url: https://git.rapsys.eu/userbundle/blobdiff_plain/bab59a4b88a081a7a27a53b4559d74e63b68db92..10322ae4af3fb083421e618c6c8f4b8dc0575126:/RapsysUserBundle.php

diff --git a/RapsysUserBundle.php b/RapsysUserBundle.php
index c083bb0..087ac87 100644
--- a/RapsysUserBundle.php
+++ b/RapsysUserBundle.php
@@ -1,7 +1,69 @@
-<?php
+<?php declare(strict_types=1);
+
+/*
+ * This file is part of the Rapsys UserBundle package.
+ *
+ * (c) Raphaël Gertz <symfony@rapsys.eu>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
 
 namespace Rapsys\UserBundle;
 
+use Rapsys\UserBundle\DependencyInjection\RapsysUserExtension;
+
+use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
 use Symfony\Component\HttpKernel\Bundle\Bundle;
 
-class RapsysUserBundle extends Bundle {}
+/**
+ * {@inheritdoc}
+ */
+class RapsysUserBundle extends Bundle {
+	/**
+	 * {@inheritdoc}
+	 */
+	public function getContainerExtension(): ?ExtensionInterface {
+		//Return created container extension
+		return $this->createContainerExtension();
+	}
+
+	/**
+	 * Return bundle alias
+	 *
+	 * @return string The bundle alias
+	 */
+	public static function getAlias(): string {
+		//With namespace
+		if ($npos = strrpos(static::class, '\\')) {
+			//Set name pos
+			$npos++;
+		//Without namespace
+		} else {
+			$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;
+		}
+
+		//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.1';
+	}
+}