vendor/codeages/web-lib/src/Routing/PhalconMount.php

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace Codeages\Weblib\Routing;

use Phalcon\Mvc\Micro;
use Phalcon\Mvc\Micro\Collection;

class PhalconMount implements Mount
{
    /**
     * @var Micro
     */
    protected $app;

    protected $providers = [];

    protected $currentProvider = null;

    protected $booted = false;

    public function __construct($app)
    {
        $this->app = $app;
    }

    public function mount(RoutingProvider $provider)
    {
        $collections = [];
        foreach ($provider->getRoutes() as $route) {
            list($method, $uri, $controller) = $route;
            if (strpos($controller, ':') > 0) {
                list($controller, $action) = explode(':', $controller);
            } else {
                $action = strtolower($method);
            }

            if (!isset($collections[$controller])) {
                $collection = new Collection();
                $collection->setHandler($provider->getNamespace().'\\'.$controller, true);
                $collections[$controller] = $collection;
            }

            $uri = rtrim($provider->getEndpoint(), "\/").rtrim($uri, "\/");

            call_user_func([$collections[$controller], $method], $uri ? : '/', $action);
        }


        foreach ($collections as $collection) {
            $this->app->mount($collection);
        }

        $this->providers[] = $provider;
    }

    public function boot()
    {
        $provider = $this->getCurrentProvider();
        if ($provider) {
            $provider->registerHandlers();

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。