src/writer/TwigTemplateWriter.php
protected function getEnvironment()
    {
        if ($this->environment === null) {
            $loader = new \Twig_Loader_Filesystem($this->getTemplatesDirectories());
            $this->environment = new \Twig_Environment($loader);

            $filter = new Twig_SimpleFilter(
                'write',
                function (WritableInterface $host) {
                    return $host->accept($this);
                }
            );
            $this->environment->addFilter($filter);

            $filter = new Twig_SimpleFilter(
                'slugify',
                function ($string) {
                    return StringUtils::slugify($string);
                }
            );
            $this->environment->addFilter($filter);

            $filter = new Twig_SimpleFilter(
                'html_attribute',
                function ($string) {
                    return preg_replace(array('/[^a-zA-Z0-9 -]/','/^-|-$/'), array('',''), $string);
                }
            );
            $this->environment->addFilter($filter);

            $filter = new Twig_SimpleFilter(
                'md5',
                function ($string) {
                    return md5($string);
                }
            );
            $this->environment->addFilter($filter);

            $filter = new Twig_SimpleFilter(
                'stripForm',
                function ($string) {
                    $string = str_replace("<form", "<div", $string);
                    $string = preg_replace('#<div class="form-actions">(.*?)</div>#', '', $string);
                    $string = str_replace("form-actions", "form-actions hidden", $string);
                    $string = str_replace(" form-errors", " form-errors hidden", $string);
                    $string = str_replace('"form-errors', '"form-errors hidden', $string);
                    $string = str_replace("</form>", "</div>", $string);
                    return $string;
                }
            );
            $this->environment->addFilter($filter);

            $filter = new Twig_SimpleFilter(
                'saferaw',
                function ($string) {
                    if ($string instanceof SafeString) {
                        $string = (string)$string;
                    } else {
                        $string = htmlentities($string);
                    }

                    return $string;
                }
            );
            $this->environment->addFilter($filter);

            $filter = new Twig_SimpleFilter(
                'writedata',
                function ($data) {
                    $string = ' ';

                    foreach ($data as $key => $value) {
                        $key = htmlentities($key);
                        $value = htmlentities($value);

                        $string .= "data-$key=\"$value\" ";
                    }

                    return trim($string);
                }
            );
            $this->environment->addFilter($filter);

            $requestURI = array_key_exists("REQUEST_URI", $_SERVER) === true ? $_SERVER["REQUEST_URI"] : "";
            $this->environment->addGlobal("requestURI", $requestURI);
        }

        return $this->environment;
    }
protected function getEnvironment()
    {
        if ($this->environment === null) {
            $loader = new \Twig_Loader_Filesystem($this->getTemplatesDirectories());
            $this->environment = new \Twig_Environment($loader);

            $filter = new Twig_SimpleFilter(
                'write',
                function (WritableInterface $host) {
                    return $host->accept($this);
                }
            );
            $this->environment->addFilter($filter);

            $filter = new Twig_SimpleFilter(
                'slugify',
                function ($string) {
                    return StringUtils::slugify($string);
                }
            );
            $this->environment->addFilter($filter);

            $filter = new Twig_SimpleFilter(
                'html_attribute',
                function ($string) {
                    return preg_replace(array('/[^a-zA-Z0-9 -]/','/^-|-$/'), array('',''), $string);
                }
            );
            $this->environment->addFilter($filter);

            $filter = new Twig_SimpleFilter(
                'md5',
                function ($string) {
                    return md5($string);
                }
            );
            $this->environment->addFilter($filter);

            $filter = new Twig_SimpleFilter(
                'stripForm',
                function ($string) {
                    $string = str_replace("<form", "<div", $string);
                    $string = preg_replace('#<div class="form-actions">(.*?)</div>#', '', $string);
                    $string = str_replace("form-actions", "form-actions hidden", $string);
                    $string = str_replace(" form-errors", " form-errors hidden", $string);
                    $string = str_replace('"form-errors', '"form-errors hidden', $string);
                    $string = str_replace("</form>", "</div>", $string);
                    return $string;
                }
            );
            $this->environment->addFilter($filter);

            $filter = new Twig_SimpleFilter(
                'saferaw',
                function ($string) {
                    if ($string instanceof SafeString) {
                        $string = (string)$string;
                    } else {
                        $string = htmlentities($string);
                    }

                    return $string;
                }
            );
            $this->environment->addFilter($filter);

            $filter = new Twig_SimpleFilter(
                'writedata',
                function ($data) {
                    $string = ' ';

                    foreach ($data as $key => $value) {
                        $key = htmlentities($key);
                        $value = htmlentities($value);

                        $string .= "data-$key=\"$value\" ";
                    }

                    return trim($string);
                }
            );
            $this->environment->addFilter($filter);

            $requestURI = array_key_exists("REQUEST_URI", $_SERVER) === true ? $_SERVER["REQUEST_URI"] : "";
            $this->environment->addGlobal("requestURI", $requestURI);
        }

        return $this->environment;
    }
protected function getEnvironment ( ) { if ( $ this -> environment === null ) { $ loader = new \ Twig_Loader_Filesystem ( $ this -> getTemplatesDirectories ( ) ) ; $ this -> environment = new \ Twig_Environment ( $ loader ) ; $ filter = new Twig_SimpleFilter ( 'write' , function ( WritableInterface $ host ) { return $ host -> accept ( $ this ) ; } ) ; $ this -> environment -> addFilter ( $ filter ) ; $ filter = new Twig_SimpleFilter ( 'slugify' , function ( $ string ) { return StringUtils :: slugify ( $ string ) ; } ) ; $ this -> environment -> addFilter ( $ filter ) ; $ filter = new Twig_SimpleFilter ( 'html_attribute' , function ( $ string ) { return preg_replace ( array ( '/[^a-zA-Z0-9 -]/' , '/^-|-$/' ) , array ( '' , '' ) , $ string ) ; } ) ; $ this -> environment -> addFilter ( $ filter ) ; $ filter = new Twig_SimpleFilter ( 'md5' , function ( $ string ) { return md5 ( $ string ) ; } ) ; $ this -> environment -> addFilter ( $ filter ) ; $ filter = new Twig_SimpleFilter ( 'stripForm' , function ( $ string ) { $ string = str_replace ( "<form" , "<div" , $ string ) ; $ string = preg_replace ( '#<div class="form-actions">(.*?)</div>#' , '' , $ string ) ; $ string = str_replace ( "form-actions" , "form-actions hidden" , $ string ) ; $ string = str_replace ( " form-errors" , " form-errors hidden" , $ string ) ; $ string = str_replace ( '"form-errors' , '"form-errors hidden' , $ string ) ; $ string = str_replace ( "</form>" , "</div>" , $ string ) ; return $ string ; } ) ; $ this -> environment -> addFilter ( $ filter ) ; $ filter = new Twig_SimpleFilter ( 'saferaw' , function ( $ string ) { if ( $ string instanceof SafeString ) { $ string = ( string ) $ string ; } else { $ string = htmlentities ( $ string ) ; } return $ string ; } ) ; $ this -> environment -> addFilter ( $ filter ) ; $ filter = new Twig_SimpleFilter ( 'writedata' , function ( $ data ) { $ string = ' ' ; foreach ( $ data as $ key => $ value ) { $ key = htmlentities ( $ key ) ; $ value = htmlentities ( $ value ) ; $ string .= "data-$key=\"$value\" " ; } return trim ( $ string ) ; } ) ; $ this -> environment -> addFilter ( $ filter ) ; $ requestURI = array_key_exists ( "REQUEST_URI" , $ _SERVER ) === true ? $ _SERVER [ "REQUEST_URI" ] : "" ; $ this -> environment -> addGlobal ( "requestURI" , $ requestURI ) ; } return $ this -> environment ; }
Get this Writer's Twig_Environment; create if it doesn't exist;

@return \Twig_Environment
Get this Writer s Twig_Environment ; create if it doesn t exist ;