fenom/src/Fenom/ProviderInterface.php

52 lines
1.2 KiB
PHP
Raw Permalink Normal View History

<?php
2013-04-28 11:33:36 +04:00
/*
2013-06-28 11:53:53 +04:00
* This file is part of Fenom.
2013-04-28 11:33:36 +04:00
*
* (c) 2013 Ivan Shalganov
*
2013-04-28 18:08:57 +04:00
* For the full copyright and license information, please view the license.md
2013-04-28 11:33:36 +04:00
* file that was distributed with this source code.
*/
2013-06-28 11:53:53 +04:00
namespace Fenom;
2013-07-04 01:28:10 +04:00
/**
* Interface of templates provider
2013-07-04 01:28:10 +04:00
* @package Fenom
* @author Ivan Shalganov <a.cobest@gmail.com>
*/
2013-07-29 14:58:14 +04:00
interface ProviderInterface
{
/**
* @param string $tpl
* @return bool
*/
2023-02-20 00:14:08 +03:00
public function templateExists(string $tpl): bool;
/**
* @param string $tpl
2023-02-20 00:14:08 +03:00
* @param float $time seconds with micro
* @return string
*/
2023-02-20 00:14:08 +03:00
public function getSource(string $tpl, float &$time): string;
/**
* @param string $tpl
2023-02-20 00:14:08 +03:00
* @return float seconds with micro
*/
2023-02-20 00:14:08 +03:00
public function getLastModified(string $tpl): float;
2013-02-21 22:51:24 +04:00
/**
* Verify templates (check mtime)
2013-02-21 22:51:24 +04:00
*
* @param array $templates [template_name => modified, ...] By conversation, you may trust the template's name
* @return bool if true - all templates are valid else some templates are invalid
2013-02-21 22:51:24 +04:00
*/
2023-02-20 00:14:08 +03:00
public function verify(array $templates): bool;
/**
* Get all names of template from provider
2023-02-20 00:14:08 +03:00
* @return iterable
*/
2023-02-20 00:14:08 +03:00
public function getList(): iterable;
}