Example #1
0
 /**
  * Get the path to a view on disk.
  *
  * @param $view
  *
  * @return string
  * @throws \Exception
  */
 protected function path($view)
 {
     $root = \Bundle::path(\Bundle::name($view)) . 'views';
     $path = $root . DS . \Bundle::element($view);
     if (file_exists($path)) {
         return $path;
     }
     throw new \Exception("View [{$view}] does not exist.");
 }
Example #2
0
 /**
  * Parse a language key into its bundle, file, and line segments.
  *
  * Language lines follow a {bundle}::{file}.{line} naming convention.
  *
  * @param  string  $key
  * @return array
  */
 protected function parse($key)
 {
     $bundle = Bundle::name($key);
     $segments = explode('.', Bundle::element($key));
     // If there are not at least two segments in the array, it means that
     // the developer is requesting the entire language line array to be
     // returned. If that is the case, we'll make the item "null".
     if (count($segments) >= 2) {
         $line = implode('.', array_slice($segments, 1));
         return array($bundle, $segments[0], $line);
     } else {
         return array($bundle, $segments[0], null);
     }
 }
Example #3
0
 /**
  * Parse a key and return its bundle, file, and key segments.
  *
  * Configuration items are named using the {bundle}::{file}.{item} convention.
  *
  * @param  string  $key
  * @return array
  */
 protected static function parse($key)
 {
     // First, we'll check the keyed cache of configuration items, as this will
     // be the fastest method of retrieving the configuration option. After an
     // item is parsed, it is always stored in the cache by its key.
     if (array_key_exists($key, static::$cache)) {
         return static::$cache[$key];
     }
     $bundle = Bundle::name($key);
     $segments = explode('.', Bundle::element($key));
     // If there are not at least two segments in the array, it means that the
     // developer is requesting the entire configuration array to be returned.
     // If that is the case, we'll make the item field "null".
     if (count($segments) >= 2) {
         $parsed = array($bundle, $segments[0], implode('.', array_slice($segments, 1)));
     } else {
         $parsed = array($bundle, $segments[0], null);
     }
     return static::$cache[$key] = $parsed;
 }
Example #4
0
 /**
  * Test the Bundle::name method.
  *
  * @group laravel
  */
 public function testBundleNameCanBeRetrievedFromIdentifier()
 {
     $this->assertEquals(DEFAULT_BUNDLE, Bundle::name('something'));
     $this->assertEquals(DEFAULT_BUNDLE, Bundle::name('something.else'));
     $this->assertEquals('bundle', Bundle::name('bundle::something.else'));
 }
Example #5
0
 static function factory($block, $fail = true)
 {
     if (is_object($block)) {
         $class = $block;
     } else {
         \Bundle::start(\Bundle::resolve(\Bundle::name($block)));
         if (\IoC::registered($ioc = "vane.block: {$block}")) {
             $class = $block = IoC::resolve($ioc);
         } else {
             $class = static::classOf($block, false);
             class_exists($class) or $class = static::fromStd($block);
         }
     }
     if ($fail and !is_subclass_of($class, $parent = 'Laravel\\Routing\\Controller')) {
         throw new Error("Block class [{$class}] must inherit from [{$parent}].");
     } else {
         return is_object($block) ? $block : new $class();
     }
 }