99use Cycle \Database \DatabaseProviderInterface ;
1010use Cycle \ORM \SchemaInterface ;
1111use Illuminate \Contracts \Config \Repository as IlluminateConfig ;
12+ use Illuminate \Contracts \Container \Container ;
1213use Illuminate \Support \ServiceProvider ;
14+ use Spiral \Tokenizer \Tokenizer ;
1315use WayOfDev \Cycle \Config ;
1416use WayOfDev \Cycle \Contracts \Config \Repository as ConfigRepository ;
1517use WayOfDev \Cycle \Contracts \EntityManager ;
@@ -41,6 +43,8 @@ public function register(): void
4143 $ this ->registerDatabaseManager ();
4244 $ this ->registerEntityManager ();
4345 $ this ->registerDatabaseSchema ();
46+ $ this ->registerOrm ();
47+ $ this ->registerTokenizer ();
4448 }
4549
4650 private function registerConsoleCommands (): void
@@ -52,7 +56,7 @@ private function registerConsoleCommands(): void
5256
5357 private function registerAdapterConfig (): void
5458 {
55- $ this ->app ->singleton (ConfigRepository::class, static function ($ app ): ConfigRepository {
59+ $ this ->app ->singleton (ConfigRepository::class, static function (Container $ app ): ConfigRepository {
5660 /** @var IlluminateConfig $config */
5761 $ config = $ app [IlluminateConfig::class];
5862
@@ -62,7 +66,7 @@ private function registerAdapterConfig(): void
6266
6367 private function registerDatabaseConfig (): void
6468 {
65- $ this ->app ->singleton (DatabaseConfig::class, static function ($ app ): DatabaseConfig {
69+ $ this ->app ->singleton (DatabaseConfig::class, static function (Container $ app ): DatabaseConfig {
6670 /** @var IlluminateConfig $config */
6771 $ config = $ app [IlluminateConfig::class];
6872
@@ -72,7 +76,7 @@ private function registerDatabaseConfig(): void
7276
7377 private function registerDatabaseManager (): void
7478 {
75- $ this ->app ->singleton (DatabaseProviderInterface::class, function ($ app ): DatabaseProviderInterface {
79+ $ this ->app ->singleton (DatabaseProviderInterface::class, static function (Container $ app ): DatabaseProviderInterface {
7680 return new DatabaseManager (
7781 $ app [DatabaseConfig::class]
7882 );
@@ -83,15 +87,30 @@ private function registerDatabaseManager(): void
8387
8488 private function registerEntityManager (): void
8589 {
86- $ this ->app ->singleton (EntityManager::class, function ($ app ): EntityManager {
90+ $ this ->app ->singleton (EntityManager::class, static function (Container $ app ): EntityManager {
8791 return $ app [Manager::class];
8892 });
8993 }
9094
9195 private function registerDatabaseSchema (): void
9296 {
93- $ this ->app ->singleton (SchemaInterface::class, function ($ app ): SchemaInterface {
97+ $ this ->app ->singleton (SchemaInterface::class, static function (Container $ app ): SchemaInterface {
9498 return $ app [SchemaManagerContract::class]->create ();
9599 });
96100 }
101+
102+ private function registerOrm (): void
103+ {
104+ // @todo implement...
105+ }
106+
107+ private function registerTokenizer (): void
108+ {
109+ $ this ->app ->singleton (Tokenizer::class, static function (Container $ app ): Tokenizer {
110+ /** @var IlluminateConfig $config */
111+ $ config = $ app [IlluminateConfig::class];
112+
113+ return new Tokenizer ($ config ->get ('cycle ' ));
114+ });
115+ }
97116}
0 commit comments