mirror of
https://github.com/wearepixel/laravel-cart.git
synced 2026-11-14 13:51:44 +00:00
54 lines
1.3 KiB
PHP
54 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace Wearepixel\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);
|
|
}
|
|
}
|
|
}
|