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

(开头部分) 1KB

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

<?php

namespace Codeages\Weblib\Routing;

class SilexMount implements Mount
{
    protected $app;

    protected $providers = [];

    protected $currentProvider = null;

    protected $booted = false;

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

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

            $class = $provider->getNamespace().'\\'.$controller;
            $this->app[$class] = function () use ($provider, $class) {
                $resource = new $class();
                $injections = $provider->getInjections();
                foreach ($injections as $key => $value) {
                    $injectMethod = 'set'.ucfirst($key);
                    $resource->{$injectMethod}($value);
                }

                return $resource;
            };

            $route = call_user_func([$this->app, $method], $provider->getEndpoint().$uri, "{$class}:{$action}");
            if (is_string($routeName)) {
                $route->bind($routeName);
            }
        }

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

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

        $this->booted = true;

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

AI 解读 AI

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

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