public function loadFilter($file, $is_global = false)
    {
        $defines = $this->yaml->load($file);

        // when global, load "*"
        $filters = isset($defines['*']) && $defines['*'] ? $defines['*'] : [];

        // when local, load "*" and "controller.action"
        $key = $this->controller->getFilterKey();
        $filters = array_merge($filters, isset($defines[$key]) && $defines[$key] ? (array)$defines[$key] : []);

        $key = $this->controller->getFilterKey($this->action);
        $filters = array_merge($filters, isset($defines[$key]) && $defines[$key] ? (array)$defines[$key] : []);

        foreach ($filters as $name => $attributes) {
            $this->addFilter($name, $attributes);
        }
    }