# timetics/1.0.13/core/dummy-data/factory.php

Timetics – Appointment Booking Calendar &amp; Scheduling, version 1.0.13. 60 lines.

- Page: https://pluginprobe.com/plugins/timetics/1.0.13/code/core/dummy-data/factory.php
- Raw: https://pluginprobe.com/plugins/timetics/1.0.13/raw/core/dummy-data/factory.php
- Modified: 2023-11-05T06:29:24+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/timetics/1.0.13/code/core/dummy-data/factory.php#L10-L20`.

```php
<?php
/**
 * Factory Class
 *
 * @package Timetics
 */
namespace Timetics\Core\DummyData;

/**
 * Facotry Class
 */
class Factory {
    /**
     * Store default providers
     *
     * @var Array
     */
    protected static $providers = [
        'Person',
        'PhoneNumber',
        'Address',
        'Lorem',
        'Internet',
        'DateTime',
    ];

    /**
     * Create a new generator
     *
     * @return  Generator
     */
    public static function create() {
        $generator = new Generator();

        $providers = self::$providers;

        foreach ( $providers as $provider ) {
            $provider_class = self::get_provider_class( $provider );
            $generator->add_provider( new $provider_class() );
        }

        return $generator;
    }

    /**
     * @param   string $provider
     *
     * @return  string
     */
    public static function get_provider_class( $provider ) {
        $provider_class = 'Timetics\\Core\\DummyData\\Provider\\' . $provider;

        if ( class_exists( $provider_class ) ) {
            return $provider_class;
        }

        return null;
    }
}

```
