Goetas\Xsd\XsdToPhp\Tests\JmsSerializer\OTA\OTASerializationTest::setUpBeforeClass PHP Method

setUpBeforeClass() public static method

public static setUpBeforeClass ( )
    public static function setUpBeforeClass()
    {
        $tmp = sys_get_temp_dir();
        if (is_writable("/dev/shm")) {
            $tmp = "/dev/shm";
        }
        self::$phpDir = "{$tmp}/OTASerializationTestPHP";
        self::$jmsDir = "{$tmp}/OTASerializationTestJMS";
        self::$loader = new ClassLoader();
        self::$loader->addPsr4(self::$namespace . "\\", self::$phpDir);
        self::$loader->register();
        if (is_dir(self::$phpDir)) {
            self::delTree(self::$phpDir);
        }
        if (is_dir(self::$jmsDir)) {
            self::delTree(self::$jmsDir);
        }
        if (!is_dir(self::$phpDir)) {
            mkdir(self::$phpDir);
        }
        if (!is_dir(self::$jmsDir)) {
            mkdir(self::$jmsDir);
        }
        $reader = new SchemaReader();
        $schemas = array();
        foreach (self::getXmlFiles() as $d) {
            if (!isset($schemas[$d[1]])) {
                $schemas[$d[1]] = $reader->readFile($d[1]);
            }
        }
        self::generateJMSFiles($schemas);
        self::generatePHPFiles($schemas);
        $serializerBuiler = \JMS\Serializer\SerializerBuilder::create();
        $serializerBuiler->configureHandlers(function (HandlerRegistryInterface $h) use($serializerBuiler) {
            $serializerBuiler->addDefaultHandlers();
            $h->registerSubscribingHandler(new BaseTypesHandler());
            $h->registerSubscribingHandler(new XmlSchemaDateHandler());
            $h->registerSubscribingHandler(new OTASchemaDateHandler());
        });
        $serializerBuiler->addMetadataDir(self::$jmsDir, self::$namespace);
        self::$serializer = $serializerBuiler->build();
    }