blob: 4cb479d5061f69cbe9b6a4fa3023f93fa004eb98 [file] [log] [blame]
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001<?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 * @throws SecurityError
23 */
24 public function checkSecurity($tags, $filters, $functions): void;
25
26 /**
27 * @throws SecurityNotAllowedMethodError
28 */
29 public function checkMethodAllowed($obj, $method): void;
30
31 /**
32 * @throws SecurityNotAllowedPropertyError
33 */
34 public function checkPropertyAllowed($obj, $method): void;
35}