original_string: public function bindIlluminateCore(Container $app = null)
      {
          if (! $app) {
              $app = new Container();
          }
  
          $this->ensureIlluminateBase($app);
  
          // Core classes
          $app->bindIf('url', $this->illuminateClasses[ 'url' ]);
  
          // Session and request
          $app->bindIf('session.manager', function ($app) {
              return new SessionManager($app);
          });
  
          $app->bindIf('session', function ($app) {
              return $app['session.manager']->driver('array');
          }, true);
  
          $app->bindIf('request', function ($app) {
              $request = Request::createFromGlobals();
  
              if (method_exists($request, 'setSessionStore')) {
                  $request->setSessionStore($app['session']);
              } else {
                  $request->setSession($app['session']);
              }
  
              return $request;
          }, true);
  
          // Config
          $app->bindIf('path.config', function ($app) {
              return $this->illuminateConfigPath;
          }, true);
  
          $app->bindIf('config', function ($app) {
              $config = new Repository;
              $this->loadIlluminateConfig($app, $config);
  
              return $config;
          }, true);
  
          // Localization
          $app->bindIf('translation.loader', function ($app) {
              return new FileLoader($app['files'], 'src/config');
          });
  
          $app->bindIf('translator', function ($app) {
              $loader = new FileLoader($app['files'], 'lang');
  
              return new Translator($loader, 'en');
          });
  
          return $app;
      }
code: public function bindIlluminateCore(Container $app = null)
      {
          if (! $app) {
              $app = new Container();
          }
  
          $this->ensureIlluminateBase($app);
  
          // Core classes
          $app->bindIf('url', $this->illuminateClasses[ 'url' ]);
  
          // Session and request
          $app->bindIf('session.manager', function ($app) {
              return new SessionManager($app);
          });
  
          $app->bindIf('session', function ($app) {
              return $app['session.manager']->driver('array');
          }, true);
  
          $app->bindIf('request', function ($app) {
              $request = Request::createFromGlobals();
  
              if (method_exists($request, 'setSessionStore')) {
                  $request->setSessionStore($app['session']);
              } else {
                  $request->setSession($app['session']);
              }
  
              return $request;
          }, true);
  
          // Config
          $app->bindIf('path.config', function ($app) {
              return $this->illuminateConfigPath;
          }, true);
  
          $app->bindIf('config', function ($app) {
              $config = new Repository;
              $this->loadIlluminateConfig($app, $config);
  
              return $config;
          }, true);
  
          // Localization
          $app->bindIf('translation.loader', function ($app) {
              return new FileLoader($app['files'], 'src/config');
          });
  
          $app->bindIf('translator', function ($app) {
              $loader = new FileLoader($app['files'], 'lang');
  
              return new Translator($loader, 'en');
          });
  
          return $app;
      }
code_tokens: public function bindIlluminateCore ( Container $ app = null ) { if ( ! $ app ) { $ app = new Container ( ) ; } $ this -> ensureIlluminateBase ( $ app ) ; // Core classes $ app -> bindIf ( 'url' , $ this -> illuminateClasses [ 'url' ] ) ; // Session and request $ app -> bindIf ( 'session.manager' , function ( $ app ) { return new SessionManager ( $ app ) ; } ) ; $ app -> bindIf ( 'session' , function ( $ app ) { return $ app [ 'session.manager' ] -> driver ( 'array' ) ; } , true ) ; $ app -> bindIf ( 'request' , function ( $ app ) { $ request = Request :: createFromGlobals ( ) ; if ( method_exists ( $ request , 'setSessionStore' ) ) { $ request -> setSessionStore ( $ app [ 'session' ] ) ; } else { $ request -> setSession ( $ app [ 'session' ] ) ; } return $ request ; } , true ) ; // Config $ app -> bindIf ( 'path.config' , function ( $ app ) { return $ this -> illuminateConfigPath ; } , true ) ; $ app -> bindIf ( 'config' , function ( $ app ) { $ config = new Repository ; $ this -> loadIlluminateConfig ( $ app , $ config ) ; return $ config ; } , true ) ; // Localization $ app -> bindIf ( 'translation.loader' , function ( $ app ) { return new FileLoader ( $ app [ 'files' ] , 'src/config' ) ; } ) ; $ app -> bindIf ( 'translator' , function ( $ app ) { $ loader = new FileLoader ( $ app [ 'files' ] , 'lang' ) ; return new Translator ( $ loader , 'en' ) ; } ) ; return $ app ; }
docstring: Bind the core classes to the Container
  
  @param  Container  $app
  @return Container
docstring_tokens: Bind the core classes to the Container