b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / a / home / dev2.destoffenstraat.com / vendor / jms / metadata / src / Metadata /
Filename/home/a/home/dev2.destoffenstraat.com/vendor/jms/metadata/src/Metadata/ClassMetadata.php
Size1.86 kb
Permissionrw-r--r--
Ownerroot : root
Create time21-Aug-2025 12:26
Last modified26-Oct-2018 14:40
Last accessed22-Aug-2025 20:19
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php

namespace Metadata;

/**
* Base class for class metadata.
*
* This class is intended to be extended to add your own application specific
* properties, and flags.
*
* @author Johannes M. Schmitt <schmittjoh@gmail.com>
*/
class ClassMetadata implements \Serializable
{
public $name;
public $reflection;
public $methodMetadata = array();
public $propertyMetadata = array();
public $fileResources = array();
public $createdAt;

public function __construct($name)
{
$this->name = $name;

$this->reflection = new \ReflectionClass($name);
$this->createdAt = time();
}

public function addMethodMetadata(MethodMetadata $metadata)
{
$this->methodMetadata[$metadata->name] = $metadata;
}

public function addPropertyMetadata(PropertyMetadata $metadata)
{
$this->propertyMetadata[$metadata->name] = $metadata;
}

public function isFresh($timestamp = null)
{
if (null === $timestamp) {
$timestamp = $this->createdAt;
}

foreach ($this->fileResources as $filepath) {
if (!file_exists($filepath)) {
return false;
}

if ($timestamp < filemtime($filepath)) {
return false;
}
}

return true;
}

public function serialize()
{
return serialize(array(
$this->name,
$this->methodMetadata,
$this->propertyMetadata,
$this->fileResources,
$this->createdAt,
));
}

public function unserialize($str)
{
list(
$this->name,
$this->methodMetadata,
$this->propertyMetadata,
$this->fileResources,
$this->createdAt
) = unserialize($str);

$this->reflection = new \ReflectionClass($this->name);
}
}