本文整理汇总了PHP中League\Plates\Engine::getFolders方法的典型用法代码示例。如果您正苦于以下问题:PHP Engine::getFolders方法的具体用法?PHP Engine::getFolders怎么用?PHP Engine::getFolders使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类League\Plates\Engine
的用法示例。
在下文中一共展示了Engine::getFolders方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPlatesFolders
/**
* Return the internal array of plates folders.
*
* @return \League\Plates\Template\Folder[]
*/
private function getPlatesFolders()
{
$folders = $this->template->getFolders();
$r = new ReflectionProperty($folders, 'folders');
$r->setAccessible(true);
return $r->getValue($folders);
}
示例2: parse
/**
* Parse name to determine template folder and filename.
*/
protected function parse()
{
$parts = explode('::', $this->name);
if (count($parts) === 1) {
if (is_null($this->engine->getDirectory())) {
$this->throwParseException('The default directory has not been defined.');
}
if ($parts[0] === '') {
$this->throwParseException('The template name cannot be empty.');
}
$this->file = $parts[0];
} elseif (count($parts) === 2) {
if ($parts[0] === '') {
$this->throwParseException('The folder name cannot be empty.');
}
if ($parts[1] === '') {
$this->throwParseException('The template name cannot be empty.');
}
if (!$this->engine->getFolders()->exists($parts[0])) {
$this->throwParseException('The folder "' . $parts[0] . '" does not exist.');
}
$this->folder = $this->engine->getFolders()->get($parts[0]);
$this->file = $parts[1];
} else {
$this->throwParseException('Do not use the folder namespace seperator "::" more than once.');
}
}
示例3: __construct
/**
* PlatesProvider constructor.
* @param Engine $plates
* @param string $root_path
* @param string $namespace
*/
public function __construct(Engine $plates, $root_path, $namespace)
{
$this->plates = $plates;
$this->namespace = $namespace;
if (!$plates->getFolders()->exists($namespace)) {
$plates->addFolder($namespace, $root_path);
}
}
示例4: render
/**
* Render a string
*
* @param string $template The template content to render
* @param array $locals The variable to use in template
* @return null|string
*/
public function render($template, array $locals = array())
{
$tmpName = uniqid('plates_tmp_', false);
$tmpPath = sys_get_temp_dir() . DIRECTORY_SEPARATOR . $tmpName;
if (!is_null($this->plates->getFileExtension())) {
$tmpPath .= '.' . $this->plates->getFileExtension();
}
$isTmpRegister = $this->plates->getFolders()->exists(sys_get_temp_dir());
if (!$isTmpRegister) {
$this->plates->addFolder(sys_get_temp_dir(), sys_get_temp_dir());
}
file_put_contents($tmpPath, $template);
$data = $this->plates->render(sys_get_temp_dir() . '::' . $tmpName, $locals);
unlink($tmpPath);
if (!$isTmpRegister) {
$this->plates->getFolders()->remove(sys_get_temp_dir());
}
return $data;
}
示例5: setFolder
/**
* Set the parsed template folder.
* @param string $folder
* @return Name
*/
public function setFolder($folder)
{
$this->folder = $this->engine->getFolders()->get($folder);
return $this;
}