@param string $key
@param string|null $target

@return bool
191837
public function isset_shared_object( $key, $target = null ) {
		! isset( $target ) and $target = $this->app->plugin_name;

		return isset( self::$_shared_object[ $target ] ) && array_key_exists( $key, self::$_shared_object[ $target ] );
	}
1326044
public function equals($target): bool
    {
        if (
            ($this instanceof RoleInterface && $target instanceof RoleInterface) ||
            ($this instanceof SceneInterface && $target instanceof SceneInterface)
        ) {
            return $this->getType() === $target->getType() &&
                $this->getId() === $target->getId();
        }

        return false;
    }
961597
public static function searchMd($multi, $target)
    {
        if (empty($target) || empty($multi)) {
            return false;
        }

        $output = \is_object($multi)
            ? self::searchMdObject($multi, $target)
            : self::searchMdArray($multi, $target);

        $output = array_values(array_filter($output));

        // If output is not empty, false by default
        return !empty($output) ? $output : false;
    }
1193687
public function __isset($key)
    {
        $source = $this->getData();

        return \array_key_exists($key, $source) && null !== $source[$key];
    }
780642
protected function canICopyTo($target)
    {
        $fileExists = file_exists($target);
        $emptyFile  = $fileExists ? filesize($target) === 0 : false;

        return (!$fileExists || $emptyFile);
    }
891511
public function isEmpty($key = null) {
		$result = true;
		if ($key !== null) {
			if (is_object($this->data) && isset($this->data->{$key})) {
				$result = empty($this->data->{$key});
			} elseif (is_array($this->data) && isset($this->data[$key])) {
				$result = empty($this->data[$key]);
			} else {
				$result = true;
			}
		} else {
			$result = empty($this->data);
		}
		return $result;
	}
860573
private function _hasMatchingTarget(Targets $targets): bool
    {
        foreach ($this->_config->targets() as $target) {
            if ($targets->hasTarget($target)) {
                return true;
            }
        }
        return false;
    }
220177
public function copy($target) {
        if (!file_exists(dirname($target)))
            if (!mkdir(dirname($target), 0777, true))
                return false;
        return true;
    }
315146
protected static function get($target, $key, $default = null)
    {
        if (is_null($key)) {
            return $target;
        }

        $key = is_array($key) ? $key : explode('.', $key);

        while (($segment = array_shift($key)) !== null) {
            if ($segment === '*') {
                if (! is_array($target)) {
                    return $default instanceof Closure ? $default() : $default;
                }

                $result = static::pluck($target, $key);

                return in_array('*', $key) ? static::collapse($result) : $result;
            }

            if (is_array($target) && array_key_exists($segment, $target)) {
                $target = $target[$segment];
            } elseif (is_object($target) && isset($target->{$segment})) {
                $target = $target->{$segment};
            } else {
                return $default instanceof Closure ? $default() : $default;
            }
        }

        return $target;
    }
1301359
public function info(String $key = NULL)
    {
        return $key === NULL ? $this->info : ($this->info[strtolower($key)] ?? false);
    }
1276950
protected function merge($target, $source)
    {
        if ($source === null) {
            return $target;
        }

        return call_user_func($this->merge, $target, $source);
    }
294186
public function has(?string $key = null) : bool
    {
        $key = $this->constructKey($key);

        return $this->parseKey($key, function ($part, $result) {
            return isset($result[$part]);
        });
    }
358979
public function check($key = null)
    {
        if (empty($key)) {
            return false;
        }

        return $this->read($key) !== null;
    }
1223984
public function isValid($key = null)
    {
        if (parent::isValid()) {
            if ($key && parent::getKey() && parent::getKey() == $key) {
                return true;
            }
        }

        return false;
    }
772138
public function getManyToMany($target, $through, $key = null, $target_key = null){
        $factory = $this->_db->factory($target);

        if(null === $key){
            $key = $this->getPK();
        }
        if(null === $target_key){
            $target_key = $factory->getPK();
        }
        
        $through = $this->parseThrough($through);
        if(!$through[1]){
            $through[1] = $key;
        }
        if(!$through[2]){
            $through[2] = $target_key;
        }
        
        $rows = $this->_db->builder()
            ->select('t.*')
            ->from($factory->getTable().' t')
            ->leftJoin($through[0].' m', 'm.'.$through[2].'=t.'.$target_key)
            ->where('m.'.$through[1].'=:value', array(
                ':value' => $this->get($key)
            ))
        ->queryAll();
        
        if(false === $rows){
            return false;
        }
        
        return $factory->mapModels($rows);
    }
275314
protected function copy($source, $target)
    {
        if (is_file($source)) {
            $exists = is_file($target) ? true :false;
            $this->filesystem->copy($source, $target);

            if (!$exists) {
                return true;
            }
        }

        return false;
    }
1103829
public function getAssign(string $key = null)
    {
        if ($key == null) {
            return $this->_book;
        }
        if (isset($this->_book[$key])) {
            return $this->_book[$key];
        }
        return null;
    }