A super easy PHP Framework for web development!
https://github.com/exacti/phacil-framework
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
1.7 KiB
83 lines
1.7 KiB
<?php
|
|
/*
|
|
* Copyright © 2021 ExacTI Technology Solutions. All rights reserved.
|
|
* GPLv3 General License.
|
|
* https://exacti.com.br
|
|
* Phacil PHP Framework - https://github.com/exacti/phacil-framework
|
|
*/
|
|
|
|
namespace Phacil\Framework\Interfaces;
|
|
|
|
/**
|
|
* Action interface.
|
|
*
|
|
* @since 2.0.0
|
|
* @package Phacil\Framework\Interfaces
|
|
*/
|
|
interface Action {
|
|
|
|
const APP = "APP";
|
|
const SYSTEM = "SYSTEM";
|
|
const MAX_ROUTE_LENGTH = 255;
|
|
const REGEX_CLASS_SANITIZE = '/[^a-zA-Z0-9]/';
|
|
const REGEX_ROUTE_SANITIZE = '/[^a-zA-Z0-9_]/';
|
|
|
|
/**
|
|
* @param string $route HTTP route for the respective controller
|
|
* @param array $args (Optional) Args to be pass for the method controller
|
|
* @param string $local (Optional) Set if the action is a system or app controller
|
|
* @return void
|
|
*/
|
|
public function __construct($route, $args = array(), $local = self::APP);
|
|
|
|
/**
|
|
* Return the controller file path
|
|
*
|
|
* @since 1.0.0
|
|
* @return string
|
|
*/
|
|
public function getFile();
|
|
|
|
/**
|
|
* Return the class of controller
|
|
*
|
|
* @deprecated 2.0.0 This method return only legacy class. Use getClassAlt instead.
|
|
* @see \Phacil\Framework\Interfaces\Action::getClassAlt()
|
|
*
|
|
* @since 1.0.0
|
|
* @return string */
|
|
public function getClass();
|
|
|
|
/**
|
|
* Set the class of controller to be loaded
|
|
*
|
|
* @param string $class
|
|
* @return $this
|
|
*/
|
|
public function setClass($class);
|
|
|
|
/**
|
|
* Get all possible classes for controller in the new 2.0 framework version
|
|
*
|
|
* @since 2.0.0
|
|
*
|
|
* @return array
|
|
*/
|
|
public function getClassAlt();
|
|
|
|
/**
|
|
* Return the method to be loaded
|
|
*
|
|
* @return string
|
|
* @since 1.0.0
|
|
*/
|
|
public function getMethod();
|
|
|
|
/**
|
|
* Return the args
|
|
*
|
|
* @return array
|
|
* @since 1.0.0
|
|
*/
|
|
public function getArgs();
|
|
} |