Example #1
0
 private function _initLoader()
 {
     $this->_loader = null;
     if ($this->getOption('createLoader')) {
         $this->_loader = new ClassLoader($this->getOption('path'), $this->getOption('nameSpace'), $this->getOption('loadPattern'));
         $this->_loader->register();
     }
 }
Example #2
0
 private static function _registerLoaders()
 {
     $appPath = self::getPath();
     $loaders = ["{$appPath}/controllers" => self::getControllerNameSpace(), "{$appPath}/models" => self::getModelNameSpace(), "{$appPath}/library" => self::getNameSpace(), "{$appPath}/vendor" => null];
     foreach ($loaders as $path => $nameSpace) {
         $loader = new ClassLoader($path, $nameSpace);
         self::$_loaders[$path] = $loader;
         $loader->register();
     }
 }
Example #3
0
 public function init()
 {
     if (!class_exists('Tale\\Data\\Source')) {
         throw new \RuntimeException("Failed to load data feature: " . "The data source class wasnt found. " . "Maybe you need the Tale\\Data namespace?");
     }
     $app = $this->getApp();
     $app->bind('beforeRun', function () use($app) {
         if (!isset($this->data)) {
             throw new \RuntimeException("Failed to initialize model feature: " . "The data feature is required");
         }
         /**
          * @var \Tale\App\Feature\Data $data
          */
         $data = $this->data;
         $this->_loaders = [];
         foreach ($this->getConfig() as $alias => $options) {
             $options = array_replace(['path' => $app->getOption('path') . '/models', 'nameSpace' => null, 'loadPattern' => null, 'createLoader' => true, 'source' => null, 'database' => null], $options ? $options : []);
             if ($options['createLoader']) {
                 $loader = new ClassLoader($options['path'], $options['nameSpace'], $options['loadPattern']);
                 $loader->register();
                 $this->_loaders[] = $loader;
             }
             if (!$options['source']) {
                 throw new \RuntimeException("Failed to set model source: No source given");
             }
             if (!$options['database']) {
                 throw new \RuntimeException("Failed to set model database: No database given");
             }
             $source = $data->getSource($options['source']);
             /** @var \Tale\Data\Database $database */
             $database = $source->{$options['database']};
             if ($options['nameSpace']) {
                 $database->addModelNameSpace($options['nameSpace']);
             }
             if (isset($this->controller)) {
                 $this->controller->setArg($alias, $database);
             }
         }
     });
     $app->bind('afterRun', function () {
         foreach ($this->_loaders as $loader) {
             $loader->unregister();
         }
         unset($this->_loaders);
     });
 }
Example #4
0
<?php

use Tale\ClassLoader;
use Tale\Cli\Option;
use Tale\Cli\Request;
include '../src/Tale/ClassLoader.php';
$loader = new ClassLoader('../src');
$loader->register();
var_dump(\Tale\Environment::getClientOptions());
var_dump(\Tale\Net\Url::fromEnvironment(), (string) \Tale\Net\Url::fromEnvironment());