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();
 | 
						|
} |