phpdoc-cache-file_4f5b27df3c44833607f14af93b9918f8.dat

1 lines ASCII Unix (LF)
1
O:39:"phpDocumentor\Descriptor\FileDescriptor":22:{s:7:"*hash";s:32:"c70c7069a1dec48865fcf5af5e470e99";s:7:"*path";s:24:"DI/CDIFactoryDefault.php";s:9:"*source";s:5014:"<?php

namespace Anax\DI;

/**
 * Anax base class implementing Dependency Injection / Service Locator 
 * of the services used by the framework, using lazy loading.
 *
 */
class CDIFactoryDefault extends CDI
{
   /**
     * Construct.
     *
     */
    public function __construct()
    {
        parent::__construct();

        require ANAX_APP_PATH . 'config/error_reporting.php';

        $this->setShared('response', '\Anax\Response\CResponseBasic');
        $this->setShared('validate', '\Anax\Validate\CValidate');
        $this->setShared('flash', '\Anax\Flash\CFlashBasic');
        
        $this->set('route', '\Anax\Route\CRouteBasic');
        $this->set('view', '\Anax\View\CViewBasic');

        $this->set('ErrorController', function () {
            $controller = new \Anax\MVC\ErrorController();
            $controller->setDI($this);
            return $controller;
        });

        $this->setShared('log', function () {
            $log = new \Anax\Log\CLogger();
            $log->setContext('development');
            return $log;
        });

        $this->setShared('request', function () {
            $request = new \Anax\Request\CRequestBasic();
            $request->init();
            return $request;
        });

        $this->setShared('url', function () {
            $url = new \Anax\Url\CUrl();
            $url->setSiteUrl($this->request->getSiteUrl());
            $url->setBaseUrl($this->request->getBaseUrl());
            $url->setStaticSiteUrl($this->request->getSiteUrl());
            $url->setStaticBaseUrl($this->request->getBaseUrl());
            $url->setScriptName($this->request->getScriptName());
            $url->setUrlType($url::URL_APPEND);
            return $url;
        });

        $this->setShared('views', function () {
            $views = new \Anax\View\CViewContainerBasic();
            $views->setBasePath(ANAX_APP_PATH . 'view');
            $views->setFileSuffix('.tpl.php');
            $views->setDI($this);
            return $views;
        });

        $this->setShared('router', function () {
            
            $router = new \Anax\Route\CRouterBasic();
            $router->setDI($this);

            $router->addInternal('403', function () {
                $this->dispatcher->forward([
                    'controller' => 'error',
                    'action' => 'statusCode',
                    'params' => [
                        'code' => 403,
                        'message' => "HTTP Status Code 403: This is a forbidden route.",
                    ],
                ]);
            })->setName('403');
            
            $router->addInternal('404', function () {
                $this->dispatcher->forward([
                    'controller' => 'error',
                    'action' => 'statusCode',
                    'params' => [
                        'code' => 404,
                        'message' => "HTTP Status Code 404: This route is not found.",
                    ],
                ]);
            })->setName('404');
            
            $router->addInternal('500', function () {
                $this->dispatcher->forward([
                    'controller' => 'error',
                    'action' => 'statusCode',
                    'params' => [
                        'code' => 500,
                        'message' => "HTTP Status Code 500: There was an internal server or processing error.",
                    ],
                ]);
            })->setName('500');
            
            return $router;
        });

        $this->setShared('dispatcher', function () {
            $dispatcher = new \Anax\MVC\CDispatcherBasic();
            $dispatcher->setDI($this);
            return $dispatcher;
        });

        $this->setShared('session', function () {
            $session = new \Anax\Session\CSession();
            $session->configure(ANAX_APP_PATH . 'config/session.php');
            $session->name();
            $session->start();
            return $session;
        });

        $this->setShared('theme', function () {
            $themeEngine = new \Anax\ThemeEngine\CThemeBasic();
            $themeEngine->configure(ANAX_APP_PATH . 'config/theme.php');
            $themeEngine->setDI($this);
            return $themeEngine;
        });

        $this->setShared('navbar', function () {
            $navbar = new \Anax\Navigation\CNavbar();
            $navbar->setDI($this);
            $navbar->configure(ANAX_APP_PATH . 'config/navbar.php');
            return $navbar;
        });

        $this->set('fileContent', function () {
            $fc = new \Anax\Content\CFileContent();
            $fc->setBasePath(ANAX_APP_PATH . 'content/');
            return $fc;
        });

        $this->setShared('textFilter', function () {
            $filter = new \Anax\Content\CTextFilter();
            $filter->configure(ANAX_APP_PATH . 'config/text_filter.php');
            $filter->setDI($this);
            return $filter;
        });
    }
}
";s:19:"*namespaceAliases";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:11:"*includes";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:41:"phpDocumentor\Reflection\IncludeReflector":3:{s:7:"*node";O:27:"PHPParser_Node_Expr_Include":2:{s:11:"*subNodes";a:2:{s:4:"expr";O:26:"PHPParser_Node_Expr_Concat":2:{s:11:"*subNodes";a:2:{s:4:"left";O:30:"PHPParser_Node_Expr_ConstFetch":2:{s:11:"*subNodes";a:1:{s:4:"name";O:19:"PHPParser_Node_Name":2:{s:11:"*subNodes";a:1:{s:5:"parts";a:1:{i:0;s:13:"ANAX_APP_PATH";}}s:13:"*attributes";a:2:{s:9:"startLine";i:20;s:7:"endLine";i:20;}}}s:13:"*attributes";a:2:{s:9:"startLine";i:20;s:7:"endLine";i:20;}}s:5:"right";O:28:"PHPParser_Node_Scalar_String":2:{s:11:"*subNodes";a:1:{s:5:"value";s:26:"config/error_reporting.php";}s:13:"*attributes";a:3:{s:9:"startLine";i:20;s:7:"endLine";i:20;s:13:"originalValue";s:28:"'config/error_reporting.php'";}}}s:13:"*attributes";a:3:{s:9:"startLine";i:20;s:7:"endLine";i:20;s:13:"originalValue";s:28:"'config/error_reporting.php'";}}s:4:"type";i:3;}s:13:"*attributes";a:3:{s:9:"startLine";i:20;s:7:"endLine";i:20;s:13:"originalValue";s:28:"'config/error_reporting.php'";}}s:23:"*default_package_name";s:0:"";s:10:"*context";O:41:"phpDocumentor\Reflection\DocBlock\Context":3:{s:12:"*namespace";s:7:"Anax\DI";s:20:"*namespace_aliases";a:0:{}s:7:"*lsen";s:0:"";}}}}s:12:"*constants";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:12:"*functions";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:10:"*classes";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:26:"\Anax\DI\CDIFactoryDefault";O:40:"phpDocumentor\Descriptor\ClassDescriptor":19:{s:9:"*parent";s:12:"\Anax\DI\CDI";s:13:"*implements";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:11:"*abstract";b:0;s:8:"*final";b:0;s:12:"*constants";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:13:"*properties";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:10:"*methods";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:11:"__construct";O:41:"phpDocumentor\Descriptor\MethodDescriptor":17:{s:9:"*parent";r:53;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*fqsen";s:41:"\Anax\DI\CDIFactoryDefault::__construct()";s:7:"*name";s:11:"__construct";s:12:"*namespace";N;s:10:"*package";s:0:"";s:10:"*summary";s:10:"Construct.";s:14:"*description";s:0:"";s:17:"*fileDescriptor";N;s:7:"*line";i:16;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:2:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:5:"param";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;}}}s:13:"*usedTraits";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*fqsen";s:26:"\Anax\DI\CDIFactoryDefault";s:7:"*name";s:17:"CDIFactoryDefault";s:12:"*namespace";s:8:"\Anax\DI";s:10:"*package";s:0:"";s:10:"*summary";s:126:"Anax base class implementing Dependency Injection / Service Locator
of the services used by the framework, using lazy loading.";s:14:"*description";s:0:"";s:17:"*fileDescriptor";r:1;s:7:"*line";i:10;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:2:{s:7:"package";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:7:"package";s:14:"*description";s:7:"Default";s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:10:"subpackage";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;}}}s:13:"*interfaces";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:9:"*traits";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:10:"*markers";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*fqsen";s:0:"";s:7:"*name";s:21:"CDIFactoryDefault.php";s:12:"*namespace";N;s:10:"*package";s:7:"Default";s:10:"*summary";s:0:"";s:14:"*description";s:0:"";s:17:"*fileDescriptor";N;s:7:"*line";i:0;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:2:{s:7:"package";r:102;s:10:"subpackage";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:40:"phpDocumentor\Descriptor\Validator\Error":4:{s:11:"*severity";s:5:"error";s:7:"*code";s:13:"PPC:ERR-50000";s:7:"*line";i:0;s:10:"*context";a:2:{s:11:"{{ value }}";s:2:"""";i:0;s:0:"";}}}}s:19:"*inheritedElement";N;}