Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | n/a |
0 / 0 |
n/a |
0 / 0 |
CRAP | n/a |
0 / 0 |
|||
| <?php | |
| declare(strict_types=1); | |
| namespace Korobochkin\WPKit\Pages; | |
| use Korobochkin\WPKit\Pages\Views\PageViewInterface; | |
| use Symfony\Component\Form\FormFactoryInterface; | |
| use Symfony\Component\Form\FormInterface; | |
| use Symfony\Component\HttpFoundation\Request; | |
| /** | |
| * Interface PageInterface represents single admin page in WordPress. | |
| * | |
| * Use this interface to create your page or use predefined classes which implements | |
| * this interface. | |
| */ | |
| interface PageInterface | |
| { | |
| /** | |
| * Called to late construct the page instance. | |
| * | |
| * Usually defining priority of calling this method defined in register method. | |
| * | |
| * Called only if user can see this page (have required capability). | |
| * | |
| * Validation process in wp-admin/includes/menu.php | |
| * 1. admin.php:138 | |
| * 2. require(ABSPATH . 'wp-admin/menu.php') (138 line) | |
| * 3. require_once(ABSPATH . 'wp-admin/includes/menu.php') (282 line). | |
| * 4. if ( !user_can_access_admin_page() ) (333 line). | |
| * | |
| * @see register | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function lateConstruct(); | |
| /** | |
| * Returns name of the page. | |
| * | |
| * @return string Name of the page. | |
| */ | |
| public function getName(); | |
| /** | |
| * Sets name of the page. | |
| * | |
| * @param $name string Name of the page. | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function setName($name); | |
| /** | |
| * Returns the page title. | |
| * | |
| * @return string Title of the page. | |
| */ | |
| public function getPageTitle(); | |
| /** | |
| * Setups the page title. | |
| * | |
| * @param $title string Title of the page. | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function setPageTitle($title); | |
| /** | |
| * Returns the menu page title. | |
| * | |
| * Used as label (title) in WordPress aside menu. | |
| * | |
| * @return string Menu title of the page. | |
| */ | |
| public function getMenuTitle(); | |
| /** | |
| * Sets the menu page title. | |
| * | |
| * @param $title string Menu title of the page. | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function setMenuTitle($title); | |
| /** | |
| * Returns capability needed to access to the page. | |
| * | |
| * @return string Capability. | |
| */ | |
| public function getCapability(); | |
| /** | |
| * Sets capability needed to access to the page. | |
| * | |
| * @param $capability string WordPress capability. | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function setCapability($capability); | |
| /** | |
| * Returns page menu slug. | |
| * | |
| * Used in URL. | |
| * | |
| * @return string Menu slug. | |
| */ | |
| public function getMenuSlug(); | |
| /** | |
| * Sets page menu slug. | |
| * | |
| * @param $menuSlug string Menu slug. | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function setMenuSlug($menuSlug); | |
| /** | |
| * Returns page view instance. | |
| * | |
| * This instance will render the page. | |
| * | |
| * @return PageViewInterface Page view instance. | |
| */ | |
| public function getView(); | |
| /** | |
| * Sets page view instance. | |
| * | |
| * @param PageViewInterface $view Page view. | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function setView(PageViewInterface $view); | |
| /** | |
| * Render the page with PageView instance. | |
| * | |
| * This method outputting HTML. | |
| */ | |
| public function render(); | |
| /** | |
| * Returns HTTP request. | |
| * | |
| * @return Request HTTP Request. | |
| */ | |
| public function getRequest(); | |
| /** | |
| * Sets HTTP request. | |
| * | |
| * @param Request $request HTTP request. | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function setRequest(Request $request); | |
| /** | |
| * Register the page in WordPress Pages-Settings API. | |
| * | |
| * After calling this method the page available in WordPress. | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function register(); | |
| /** | |
| * Un register the page in WordPress Pages-Settings API. | |
| * | |
| * @throws \Exception If page not removed (WordPress not found this page as registered page). | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function unRegister(); | |
| /** | |
| * Returns the page url. | |
| * | |
| * @return string The page url. | |
| */ | |
| public function getURL(); | |
| /** The methods bellow used to work with forms. */ | |
| /** | |
| * Returns form factory. | |
| * | |
| * @return FormFactoryInterface Form factory for building forms. | |
| */ | |
| public function getFormFactory(); | |
| /** | |
| * Sets the form factory to build forms. | |
| * | |
| * @param $formFactory FormFactoryInterface Form factory. | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function setFormFactory(FormFactoryInterface $formFactory); | |
| /** | |
| * Returns the form for this page. | |
| * | |
| * @return FormInterface HTML form. | |
| */ | |
| public function getForm(); | |
| /** | |
| * Sets the form for this page. | |
| * | |
| * @param FormInterface $form HTML form. | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function setForm(FormInterface $form); | |
| /** | |
| * Returns the form data entity. | |
| * | |
| * @return object Form entity. | |
| */ | |
| public function getFormEntity(); | |
| /** | |
| * Sets the form entity. | |
| * | |
| * @param object $formEntity form data-entity. | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function setFormEntity($formEntity); | |
| /** | |
| * Returns tabs. | |
| * | |
| * @return Tabs\TabsInterface Tabs for page. | |
| */ | |
| public function getTabs(); | |
| /** | |
| * Sets tabs. | |
| * | |
| * @param Tabs\TabsInterface $tabs Tabs for page. | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function setTabs(Tabs\TabsInterface $tabs); | |
| /** | |
| * Be sure to call it only from $this->lateConstruct() | |
| * to prevent illegal access to the page handling. | |
| */ | |
| public function handleRequest(); | |
| } |