Files
laravel-cart/src/Validators/Validator.php
T
2024-08-30 09:44:40 +10:00

54 lines
1.3 KiB
PHP

<?php
namespace Pixeldigital\Cart\Validators;
use Illuminate\Validation\Factory;
use Illuminate\Filesystem\Filesystem;
use Illuminate\Translation\FileLoader;
use Illuminate\Translation\Translator;
abstract class Validator
{
protected static $factory;
public static function instance()
{
if (! static::$factory) {
$loader = new FileLoader(
new Filesystem,
'/Translations'
);
$translator = new Translator($loader, 'en');
static::$factory = new Factory($translator);
}
return static::$factory;
}
public static function __callStatic($method, $args)
{
$instance = static::instance();
switch (count($args)) {
case 0:
return $instance->$method();
case 1:
return $instance->$method($args[0]);
case 2:
return $instance->$method($args[0], $args[1]);
case 3:
return $instance->$method($args[0], $args[1], $args[2]);
case 4:
return $instance->$method($args[0], $args[1], $args[2], $args[3]);
default:
return call_user_func_array([$instance, $method], $args);
}
}
}