3ev Core Wordpress library API
  • Namespace
  • Class

Namespaces

  • Tev
    • Application
      • Bootstrap
    • Author
      • Model
    • Contracts
    • Database
      • CustomTables
    • Field
      • Model
      • Util
    • Plugin
      • Action
      • Shortcode
    • Post
      • Model
      • Repository
    • Taxonomy
      • Model
      • Repository
    • Term
      • Model
      • Repository
    • Util
    • View
      • Exception
  • None

Classes

  • Tev\Application\Application
  • Tev\Application\Bootstrap\AuthorFactory
  • Tev\Application\Bootstrap\FieldFactory
  • Tev\Application\Bootstrap\PluginLoader
  • Tev\Application\Bootstrap\Post
  • Tev\Application\Bootstrap\Taxonomy
  • Tev\Application\Bootstrap\Term
  • Tev\Application\Bootstrap\Util
  • Tev\Author\Factory
  • Tev\Author\Model\Author
  • Tev\Database\CustomTables\AbstractInstaller
  • Tev\Database\Utils
  • Tev\Field\Factory
  • Tev\Field\Model\AbstractField
  • Tev\Field\Model\AuthorField
  • Tev\Field\Model\BasicField
  • Tev\Field\Model\DateField
  • Tev\Field\Model\FileField
  • Tev\Field\Model\FlexibleContentField
  • Tev\Field\Model\GoogleMapField
  • Tev\Field\Model\ImageField
  • Tev\Field\Model\NullField
  • Tev\Field\Model\NumberField
  • Tev\Field\Model\PostField
  • Tev\Field\Model\RepeaterField
  • Tev\Field\Model\SelectField
  • Tev\Field\Model\TaxonomyField
  • Tev\Field\Util\FieldGroup
  • Tev\Field\Util\LayoutFieldGroup
  • Tev\Plugin\Action\AbstractProvider
  • Tev\Plugin\Loader
  • Tev\Plugin\Shortcode\AbstractProvider
  • Tev\Post\Factory
  • Tev\Post\Model\AbstractPost
  • Tev\Post\Model\Attachment
  • Tev\Post\Model\Page
  • Tev\Post\Model\Post
  • Tev\Post\Repository\PostRepository
  • Tev\Taxonomy\Factory
  • Tev\Taxonomy\Model\Taxonomy
  • Tev\Taxonomy\Repository\TaxonomyRepository
  • Tev\Term\Factory
  • Tev\Term\Model\Term
  • Tev\Term\Repository\TermRepository
  • Tev\Util\TemplateExtras
  • Tev\View\Renderer

Interfaces

  • Tev\Contracts\BootstrapperInterface
  • Tev\Contracts\WordpressWrapperInterface

Exceptions

  • Tev\View\Exception\NotFoundException
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 
<?php
namespace Tev\Application\Bootstrap;

use Tev\Application\Application,
    Tev\Contracts\BootstrapperInterface,
    Tev\Field\Factory,
    Tev\Field\Model\PostField,
    Tev\Field\Model\TaxonomyField,
    Tev\Field\Model\RepeaterField,
    Tev\Field\Model\FlexibleContentField,
    Tev\Field\Model\AuthorField;

/**
 * Bootstrap the field factory.
 */
class FieldFactory implements BootstrapperInterface
{
    /**
     * {@inheritDoc}
     */
    public function bootstrap(Application $app)
    {
        $app->bind('field_factory', function ($app) {

            $factory = new Factory($app);

            // Register defaults

            return $factory

                // Simple fields

                ->register('true_false',   'Tev\Field\Model\BasicField')
                ->register('page_link',    'Tev\Field\Model\BasicField')
                ->register('color_picker', 'Tev\Field\Model\BasicField')
                ->register('oembed',       'Tev\Field\Model\BasicField')
                ->register('text',         'Tev\Field\Model\BasicField')
                ->register('wysiwyg',      'Tev\Field\Model\BasicField')
                ->register('textarea',     'Tev\Field\Model\BasicField')
                ->register('url',          'Tev\Field\Model\BasicField')
                ->register('email',        'Tev\Field\Model\BasicField')
                ->register('date_picker',  'Tev\Field\Model\DateField')
                ->register('file',         'Tev\Field\Model\FileField')
                ->register('select',       'Tev\Field\Model\SelectField')
                ->register('checkbox',     'Tev\Field\Model\SelectField')
                ->register('radio',        'Tev\Field\Model\SelectField')
                ->register('google_map',   'Tev\Field\Model\GoogleMapField')
                ->register('image',        'Tev\Field\Model\ImageField')
                ->register('number',        'Tev\Field\Model\NumberField')

                // Post and other relationship fields

                ->register('post_object', function ($data, $app) {
                    return new PostField($data, $app->fetch('post_factory'));
                })
                ->register('relationship', function ($data, $app) {
                    return new PostField($data, $app->fetch('post_factory'));
                })
                ->register('taxonomy', function ($data, $app) {
                    return new TaxonomyField(
                        $data,
                        $app->fetch('taxonomy_factory'),
                        $app->fetch('term_factory')
                    );
                })
                ->register('user', function ($data, $app) {
                    return new AuthorField($data, $app->fetch('author_factory'));
                })

                // Collection fields

                ->register('repeater', function ($data, $app) {
                    return new RepeaterField(
                        $data,
                        $app->fetch('field_factory')
                    );
                })
                ->register('flexible_content', function ($data, $app) {
                    return new FlexibleContentField(
                        $data,
                        $app->fetch('field_factory')
                    );
                });
        });
    }
}
3ev Core Wordpress library API API documentation generated by ApiGen