Files
core/app/Widgets/Contracts/PublicWidget.php
T

49 lines
890 B
PHP

<?php
namespace App\Widgets\Contracts;
use App\Http\Requests\Request;
use App\Models\Widget;
interface PublicWidget
{
/**
* Name getter
*
* @return string
*/
public static function getName();
/**
* Getter for description
*
* @return string
*/
public static function getDescription();
/**
* Getter for presenter/renderer of this widget
*
* @return WidgetRenderer
*/
public static function getPresenter();
/**
* @param Widget $widget
* @param Request $request
*
* @return mixed
*/
public static function save(Widget $widget, Request $request);
/**
* Function for installing given widget
*
* @return mixed
*/
public static function install();
/**
* Function for uninstalling widget
*/
public static function uninstall();
}