<?php

namespace Nextend\SmartSlider3\Generator;

use Nextend\Framework\Filesystem\Filesystem;
use ReflectionClass;
use ReflectionException;

abstract class AbstractGeneratorLoader {

    public function __construct() {

        try {
            $reflectionClass = new ReflectionClass($this);
            $namespace       = $reflectionClass->getNamespaceName();

            $dir = dirname($reflectionClass->getFileName());

            foreach (Filesystem::folders($dir) AS $name) {
                $className = '\\' . $namespace . '\\' . $name . '\\GeneratorGroup' . $name;

                if (class_exists($className)) {
                    new $className;
                }
            }
        } catch (ReflectionException $e) {

        }
    }
}