<?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\Traits; /** * Trait for the Action class * * Code reused in ActionSystem class */ trait Action { /** * * @var string */ protected $file; /** * * @var string */ protected $class; /** * * @var string */ protected $method; /** * * @var array */ protected $args = array(); /** * * @var (string[]|string|null)[] */ private $classAlt = []; /** @return string */ public function getFile() { return $this->file; } /** @return string */ public function getClass() { return $this->class; } private function mountClass($namespace, $class) { return (defined('NAMESPACE_PREFIX') ? NAMESPACE_PREFIX."\\" : "").str_replace("/", "\\", (string) $namespace)."Controller\\".(string) $class; } /** * * @param string $class * @return $this */ public function setClass($class) { $this->class = $class; return $this; } /** @return array */ public function getClassAlt() { return $this->classAlt; } /** @return string */ public function getMethod() { return $this->method; } /** @return array */ public function getArgs() { return $this->args; } }