51 lines
1.4 KiB
PHP
51 lines
1.4 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Symfony framework.
|
|
*
|
|
* (c) Fabien Potencier <fabien@symfony.com>
|
|
*
|
|
* This source file is subject to the MIT license that is bundled
|
|
* with this source code in the file LICENSE.
|
|
*/
|
|
|
|
namespace Symfony\Bundle\AsseticBundle\Factory\Resource;
|
|
|
|
use Assetic\Factory\Resource\DirectoryResource as BaseDirectoryResource;
|
|
use Symfony\Component\Templating\Loader\LoaderInterface;
|
|
|
|
/**
|
|
* A directory resource that creates Symfony2 templating resources.
|
|
*
|
|
* @author Kris Wallsmith <kris@symfony.com>
|
|
*/
|
|
class DirectoryResource extends BaseDirectoryResource
|
|
{
|
|
protected $loader;
|
|
protected $bundle;
|
|
protected $path;
|
|
|
|
/**
|
|
* Constructor.
|
|
*
|
|
* @param LoaderInterface $loader The templating loader
|
|
* @param string $bundle The current bundle name
|
|
* @param string $path The directory path
|
|
* @param string $pattern A regex pattern for file basenames
|
|
*/
|
|
public function __construct(LoaderInterface $loader, $bundle, $path, $pattern = null)
|
|
{
|
|
$this->loader = $loader;
|
|
$this->bundle = $bundle;
|
|
$this->path = rtrim($path, '/').'/';
|
|
|
|
parent::__construct($path, $pattern);
|
|
}
|
|
|
|
public function getIterator()
|
|
{
|
|
return is_dir($this->path)
|
|
? new DirectoryResourceIterator($this->loader, $this->bundle, $this->path, $this->getInnerIterator())
|
|
: new \EmptyIterator();
|
|
}
|
|
}
|