<?php
function converTo($date, $format = 'Y-m-d', $default = null, callable $funcExc = null )
{
if (empty($date)) {
return $default;
}
if (!is_string($format)) {
throw new \InvalidArgumentException("Неверный формат");
}
try {
if (!($date instanceof \DateTime)) {
if (is_numeric($date) && ( strlen($timestamp) == 13 || strlen($timestamp) == 10 )) {
$date = new \DateTime("@" . $date);
} elseif (strtotime($date) !== false) {
$date = new \DateTime("@" . strtotime($date));
} else {
$date = new \DateTime($date);
}
}
if(!($date = $date->format($format))) {
throw new \InvalidArgumentException("Произошла ошибка при приведению к заданному формату: " . $format);
}
} catch (\Exception $e) {
if ($funcExc !== null) {
call_user_func($funcExc, $date);
}
throw $e;
}
return $date;
}
var_dump(converTo([]));
die;
abstract class T
{
static public $instanses;
final private function __construct(){
}
public static function getInstance()
{
if (!(static::$instanses instanceof static)) {
static::$instanses = new static;
}
return static::$instanses;
}
}
class A extends T
{
static public $instanses;
}
class B extends A
{
static public $instanses;
}
$t = A::getInstance();
var_dump($t);
$t1 = B::getInstance();
var_dump($t1);
new B();
?>
- Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.6 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- NULL
preferences:
179.72 ms | 404 KiB | 181 Q