* @link https://getkirby.com * @copyright Bastian Allgeier GmbH * @license https://opensource.org/licenses/MIT */ abstract class Handler { /** * Validates file contents * * @param string $string * @return void * * @throws \Kirby\Exception\InvalidArgumentException If the file didn't pass validation * @throws \Kirby\Exception\Exception On other errors */ abstract public static function validate(string $string): void; /** * Validates the contents of a file * * @param string $file * @return void * * @throws \Kirby\Exception\InvalidArgumentException If the file didn't pass validation * @throws \Kirby\Exception\Exception On other errors */ public static function validateFile(string $file): void { $contents = F::read($file); if ($contents === false) { throw new Exception('The file "' . $file . '" does not exist'); } static::validate($contents); } }