1<?php 2 3/* 4 * This file is part of Twig. 5 * 6 * (c) Fabien Potencier 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12namespace Twig\Sandbox; 13 14/** 15 * Interface that all security policy classes must implements. 16 * 17 * @author Fabien Potencier <fabien@symfony.com> 18 */ 19interface SecurityPolicyInterface 20{ 21 /** 22 * @param string[] $tags 23 * @param string[] $filters 24 * @param string[] $functions 25 * 26 * @throws SecurityError 27 */ 28 public function checkSecurity($tags, $filters, $functions); 29 30 /** 31 * @param object $obj 32 * @param string $method 33 * 34 * @throws SecurityNotAllowedMethodError 35 */ 36 public function checkMethodAllowed($obj, $method); 37 38 /** 39 * @param object $obj 40 * @param string $property 41 * 42 * @throws SecurityNotAllowedPropertyError 43 */ 44 public function checkPropertyAllowed($obj, $property); 45} 46 47class_alias('Twig\Sandbox\SecurityPolicyInterface', 'Twig_Sandbox_SecurityPolicyInterface'); 48