This will get the model. There is no order for the arguments.

@params string path to the model
@params array data to send to the model
@return $this
1608
public function set_cached_model(){
		$args = \func_get_args();
		$die = 1;
		foreach ( $args as $a ){
			if ( \is_string($a) && \strlen($a) ){
				$path = $a;
			}
			else if ( \is_array($a) ){
				$data = $a;
			}
      else if ( \is_int($a) ){
        $ttl = $a;
      }
      else if ( \is_bool($a) ){
        $die = $a;
      }
		}
		if ( !isset($path) ){
			$path = $this->path;
		}
		else if ( strpos($path, './') === 0 ){
			$path = $this->say_dir().substr($path, 1);
		}
    if ( !isset($data) ){
      $data = $this->data;
    }
    if ( !isset($ttl) ){
      $ttl = 10;
    }
		$this->mvc->set_cached_model($path, $data, $this, $ttl);
		return $this;
	}
1200414
public function ignorePath($path)
    {
        if (is_array($path)) {
            foreach ($path as $pathToIgnore) {
                $this->ignorePath($pathToIgnore);
            }

            return $this;
        }

        $this->ignoredPaths[] = $path;
        return $this;
    }
78974
public function setPath(?string $path = null): ZipInterface {

        if ( $path === null ) {
            $this->path = null;
        } else if ( !file_exists($path) ) {
            throw new ZipException("Not existent path: $path");
        } else {
            $this->path = $path;
        }

        return $this;

    }
444751
public function get($path, array $data = [])
    {
        $name = $this->getName($path);

        if (! $this->getFilesystem()->exists($this->getBladePath($path))) {
            throw new InvalidArgumentException("Blade [$name] not found.");
        }

        $view = $this->getBladeEngine()->get($this->getBladePath($path), $data);

        $data['document'] = new HtmlPageCrawler($view);
        $this->evaluatePath($path, $data);

        return $data['document']->saveHTML();
    }
661472
public static function Init($path = '')
	{
		if( !is_null(self::$_Instance) )
		{
			// TODO error
		}

		self::$_Instance = new static($path);

		return self::$_Instance;
	}
818101
public GetData get(String path) {
        GetData command = new GetData();
        command.path(path);
        action.setCommand(command);
        return command;
    }
1084112
public function getChildByPath($path)
    {
        if (!is_array($path)) {
            $path = trim($path, " /");
            $pieces = explode("/", $path);
        } else {
             $pieces = $path;
        }
            
        if (!sizeof($pieces)) return $this;

        if ($alias = array_shift($pieces)) {

                $c = $this->getChildByAlias($alias);
                if (sizeof($pieces)) {
                    return $c->getChildByPath($pieces);
                } else {
                    return $c;
                }

        }
        return $this;
    }
1009361
public function extract($path)
	{
		$data = $this->get($path);

		if (is_null($data))
		{
			return null;
		}

		return new self($data);
	}
77923
public function prepend($path, $data)
    {
        if ($this->exists($path)) {
            return $this->put($path, $data.$this->get($path));
        }

        return $this->put($path, $data);
    }
72381
public function append($path)
    {
        if (!is_array($path)) {
            $path = $this->normalize($path);
        }

        $path = array_merge($this->paths, $path);

        $this->paths = $this->removeDots($path);

        return $this;
    }
1276391
public function remove($path)
    {
        $keys       = $this->explode($path);
        $parameters = &$this->parameters;

        while (count($keys) > 0) {
            if (count($keys) === 1) {
                if (is_array($parameters)) {
                    unset($parameters[array_shift($keys)]);
                } else {
                    return $this;
                }
            } else {
                $key = array_shift($keys);

                if (!isset($parameters[$key])) {
                    return $this;
                }
                $parameters = &$parameters[$key];
            }
        }
        return $this;
    }
1184481
public function path($path)
    {
        if ($path !== '/' . trim($path, '/') . '/') {
            throw new Exception('Invalid path "' . $path . '", use like this /foo/', 2);
        }

        $this->path = $path;

        return $this;
    }
314643
public function get($path, array $data = [])
    {
        $name = array_search($path, $this->finder->getViews());

        return $this->twig->render($this->parseFileName($name).$this->extension, $data);
    }
637209
public function put($path = null, $data = [], array $options = []) {
		return $this->send(__FUNCTION__, $path, $data, $options);
	}
1085669
function route($path = '/', array $actions = [], $method = Router::ANY_METHOD, $name = '')
    {
        $this->path($path);
        $this->actions[$method] = $actions;
        $this->name = $name;

        return $this;
    }
209550
public function add_to_obj(string $path, $data=[], $internal = false)
  {
    if ( substr($path, 0, 2) === './' ){
      $path = $this->say_dir().substr($path, 1);
    }
    if ( $route = $this->mvc->get_route($path, $internal ? 'private' : 'public') ){
      $o = new controller($this->mvc, $route, $data);
      $o->process();
      $this->obj = \bbn\x::merge_objects($this->obj, $o->obj);
      return $this;
    }
    return false;
  }
904813
public function model(array $data = array())
    {
        $model = trim(str_replace('\\', '_', $this->model), '_');
        return $this->$model($data)->setDatabase($this);
    }