return an array of all controllers hashes

@return array
509376
public function get_current_controllers_hashes()
	{
	    $controllers = $this->AclReflector->get_all_controllers();
	    
	    $current_controller_hashes = array();
	    
	    foreach($controllers as $controller)
	    {
	        $ctler_file = new File($controller['file']);
	        $current_controller_hashes[$controller['name']] = $ctler_file->md5();
	    }
	    
	    return $current_controller_hashes;
	}
840278
private function controllerKeysToLowercase(array $controllers) : array
    {
        $result = [];

        foreach ($controllers as $controllerKey => $controllerClass) {
            $result[strtolower($controllerKey)] = $controllerClass;
        }

        return $result;
    }
25980
def controller_dirs
			parts = @controller.class.underscore.split('/').map do |part|
				%w[_controller _ctrl]
					.find { |suffix| part.chomp! suffix }
				part
				## Alternative, but slower by ~50%:
				# part.sub(/_(controller|ctrl)$/, '')
			end
			combine_parts(parts).map! { |path| path.join('/') }
		end
452672
protected function getAttributeKeysAndControllers()
    {
        if ($this->attributeKeysAndControllers === null) {
            $list = [];
            foreach ($this->category->getList() as $attributeKey) {
                $list[] = [$attributeKey, $attributeKey->getController()];
            }
            $this->attributeKeysAndControllers = $list;
        }

        return $this->attributeKeysAndControllers;
    }
42802
public function getRoutes()
    {
        $list = array();

        foreach (glob(__DIR__ . '/config/commands/*.php') as $file) {

            $command = pathinfo($file, PATHINFO_FILENAME);
            $list[$command] = gplcart_config_get($file);

            $method = $command;
            $parts = explode('-', $command);

            if (count($parts) > 1) {
                $method = array_pop($parts);
            }

            $class_name = implode('', $parts);

            $list[$command]['handlers']['controller'] = array(
                "gplcart\\modules\\cli\\controllers\\commands\\$class_name", "cmd$method$class_name");
        }

        return $list;
    }
124581
protected function getController()
    {
        list($class) = explode('@', $this->action['uses']);
        if (!$this->controller) {
            $this->controller = $this->container->make($class);
        }

        return $this->controller;
    }
1184156
public function getControllerAndAction(){
		$path_info = Yii::$app->request->getPathInfo();
		$path_info = trim($path_info,"/");
		$controller_str = substr($path_info,strpos($path_info,"/")+1);
		$str = strrev($controller_str);
		$action = strrev(substr($str,0,strpos($str,"/")));
		$controllerstr = strrev(substr($str,strpos($str,"/")+1));
		$controllerstr = explode("/",$controllerstr);
		$arr = [];
		$count = count($controllerstr);
		$i = 0;
		foreach($controllerstr as $v){
			$i++;
			if($count == $i){
				$arr[] = ucfirst($v);
			}else{
				$arr[] = strtolower($v);
			}
		}
		return [
			'controller' => implode("/",$arr),
			'action'	=>  $action,
		];
	}
1301774
public function WidgetControllers()
    {
        $controllers = new ArrayList();
        $items = $this->ItemsToRender();
        if (!is_null($items)) {
            foreach ($items as $widget) {
                /** @var Widget $widget */

                /** @var Controller $controller */
                $controller = $widget->getController();

                $controller->doInit();
                $controllers->push($controller);
            }
        }
        return $controllers;
    }
690681
public function getMiddleware($controller, $method)
    {
        if (! method_exists($controller, 'getMiddleware')) {
            return [];
        }

        return collect($controller->getMiddleware())->reject(function ($data) use ($method) {
            return static::methodExcludedByOptions($method, $data['options']);
        })->pluck('middleware')->all();
    }
494269
protected function getControllers() {
        $mapParentId = array();

        $acos = $this->Aco->getAll();

        // Map IDs to parent IDs
        foreach ($acos as $aco) {
            $mapParentId[$aco['ControlObject']['id']] = $aco['ControlObject']['parent_id'];
        }

        // Determine the child depth
        foreach ($acos as &$aco) {
            $depth = 0;
            $id = $aco['ControlObject']['id'];

            while (isset($mapParentId[$id])) {
                $depth++;
                $id = $mapParentId[$id];
            }

            $aco['ControlObject']['depth'] = $depth;
        }

        return $acos;
    }
759117
protected function findBlockControllers()
	{
		$blockContentCache = &$this->blockContentCache;

		$blockCollection = $this->getBlockCollection();

		// Iterates through all blocks and calls the function passed
		$this->iterateBlocks(function(Block $block, &$blockController) use ($blockCollection, &$blockContentCache) {
			// Skip controller creation if cache found
			$blockId = $block->getId();

			if (array_key_exists($blockId, $blockContentCache)) {
				$blockController = new CachedBlockController($blockContentCache[$blockId], $block);
				return;
			}

			$blockController = $blockCollection->createController($block);
		});
	}
1173814
public function getSplashActionsList(): array
    {
        $urls = array();

        foreach ($this->routeProviders as $routeProvider) {
            /* @var $routeProvider UrlProviderInterface */
            $tmpUrlList = $routeProvider->getUrlsList(null);
            $urls = array_merge($urls, $tmpUrlList);
        }

        return $urls;
    }
1336445
public function getReplacements()
    {

        return array_merge(parent::getReplacements(), [
            'controller' => $this->getControllerName(),
            'plural'     => $this->getPluralName(),
            'singular'   => $this->getSingularName(),
            'validator'  => $this->getValidator(),
            'repository' => $this->getRepository(),
            'appname'    => $this->getAppNamespace(),
        ]);
    }
211743
public function getList(): array
    {
        $result = [];
        $controllers = Utility::getControllers();

        if (empty($controllers)) {
            return $result;
        }

        foreach ($controllers as $controller) {
            $parts = explode('\\', $controller);
            foreach ($parts as $key => &$part) {
                if ('App' === $part) {
                    unset($parts[$key]);
                    continue;
                }

                $part = str_replace('Controller', '', $part);
                $part = Inflector::humanize(Inflector::underscore($part));
            }

            // remove empty values
            $parts = array_filter($parts);

            $key = App::shortName($controller, 'Controller', 'Controller');
            $value = implode(' - ', $parts);
            $result[$key] = $value;
        }

        // sort by value
        asort($result);

        return $result;
    }
1322686
function collect() {
        $dispatcher = $this->di['dispatcher'];
		$router = $this->di['router'];
		$route = $router->getMatchedRoute();
		if ( !$route) {
			return array();
		}

		$uri   = $route->getPattern();
		$paths = $route->getPaths();
		$result['uri']    = $uri ?: '-';
		$result['paths']  = $this->formatVar( $paths);
		if ( $params = $router->getParams()) {
			$result['params'] = $this->formatVar($params);
		}
		$result['HttpMethods'] = $route->getHttpMethods();
		$result['RouteName'] = $route->getName();
		$result['hostname'] = $route->getHostname();
		if ( $this->di->has('app') && ($app=$this->di['app']) instanceof  Micro ) {
			if ( ($handler=$app->getActiveHandler()) instanceof \Closure  ||  is_string($handler) ) {
				$reflector = new \ReflectionFunction($handler);
			}elseif(is_array($handler)){
				$reflector = new \ReflectionMethod($handler[0], $handler[1]);
			}
		}else{
			$result['Moudle']=$router->getModuleName();
			$result['Controller'] = $dispatcher->getActiveController() != null ? get_class( $controller_instance = $dispatcher->getActiveController()) : $controller_instance ="";
			$result['Action']     = $dispatcher->getActiveMethod();
			$reflector = new \ReflectionMethod($controller_instance, $result['Action']);
		}

		if (isset($reflector)) {
			$start = $reflector->getStartLine()-1;
			$stop  = $reflector->getEndLine();
			$filename = substr($reflector->getFileName(),mb_strlen(realpath(dirname($_SERVER['DOCUMENT_ROOT']))));
			$code = array_slice( file($reflector->getFileName()),$start, $stop-$start );
			$result['file'] = $filename . ':' . $reflector->getStartLine() . '-' . $reflector->getEndLine() . "  [CODE]: \n". implode("",$code);
		}

		return array_filter($result);
	}
193463
public function getControllers($namespace=null)
	{
	    if (null === $namespace) {
	        return $this->controllers;
	    }
	    
	    $controllers = [];
	    foreach ($this->controllers as $name => $controller) {
	        if ($this->extractNamespace($name, substr_count($namespace, ':') + 1) === $namespace) {
	            $controllers[$name] = $controller;
	        }
	    }
	    
	    return $controllers;
	}
47047
public function getMenuDataFromControllers()
    {
        \Yii::beginProfile('getMenuDataFromControllers: '.$this->controllerPrefix);

        $result = [];

        foreach ($this->getCommands() as $route) {
            if ($class = \Yii::$app->createController($route)) {
                $class = $class[0];
                if (method_exists($class, 'getBackendMenuData')) {
                    $result = ArrayHelper::merge($result, $class->getBackendMenuData());
                }
            }
        }

        \Yii::endProfile('getMenuDataFromControllers: '.$this->controllerPrefix);

        return $result;
    }