File "Addon.php"

Full path: /home/kosmetik/public_html/wp-content/plugins/woo-license-keys/vendor/10quality/wpmvc-core/src/psr4/Addon.php
File size: 1.68 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

namespace WPMVC;

use ReflectionClass;
use WPMVC\Contracts\Plugable;
use WPMVC\MVC\Engine;

/**
 * Addon abstract class.
 *
 * @link https://github.com/amostajo/wordpress-plugin-core/blob/v1.0/src/psr4/Addon.php
 * @author Alejandro Mostajo <http://about.me/amostajo>
 * @copyright 10Quality <http://www.10quality.com>
 * @license MIT
 * @package WPMVC
 * @version 3.0.0
 */
abstract class Addon implements Plugable
{
    /**
     * Plugin object reference.
     * @var object Plugin
     * @since 1.0.0
     */
    protected $main;

    /**
     * MVC engine.
     * @var object Plugin
     * @since 1.0.0
     */
    protected $mvc;

    /**
     * Default constructor.
     * @since 1.0.0
     *
     * @see https://github.com/10quality/wpmvc-addon-template
     *
     * @param object $main Plugin object.
     */
    public function __construct( &$main )
    {
        $reflection = new ReflectionClass( $this );
        $this->main = $main;
        $this->mvc = new Engine(
            dirname( $reflection->getFileName() ) . '/../assets/views/',
            dirname( $reflection->getFileName() ) . '/Controllers/',
            $reflection->getNamespaceName()
        );
    }

    /**
     * Called on init.
     * @since 1.0.0
     *
     * @param object &$main Main plugin object as reference.
     *
     * @return void
     */
    public function init()
    {
        // TODO custom code.
    }

    /**
     * Called on admin.
     * @since 1.0.0
     *
     * @param object &$main Main plugin object as reference.
     *
     * @return void
     */
    public function on_admin()
    {
        // TODO custom code.
    }
}