本文整理汇总了PHP中Action::getClass方法的典型用法代码示例。如果您正苦于以下问题:PHP Action::getClass方法的具体用法?PHP Action::getClass怎么用?PHP Action::getClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Action
的用法示例。
在下文中一共展示了Action::getClass方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getChild
protected function getChild($child, $args = array())
{
Logger::info('child: ' . $child);
$action = new Action($child, $args);
if (file_exists($action->getFile())) {
if (!class_exists($action->getClass())) {
require_once $action->getFile();
}
$class = $action->getClass();
$controller = new $class($this->registry);
if (method_exists($class, $action->getMethod())) {
$controller->{$action->getMethod()}($action->getArgs());
return $controller->output;
} else {
trigger_error('Warning: Method ' . $class . '->' . $action->getMethod() . '(' . $action->getArgs() . ') does not exist', E_USER_WARNING);
return $this->output;
}
} else {
if (isset($this->data['header'])) {
$this->output .= $this->data['header'];
}
if (isset($this->data['footer'])) {
$this->output .= $this->data['footer'];
}
trigger_error('Error: Could not load controller ' . $child . '! (File: ' . $action->getFile() . ')', E_USER_ERROR);
return $this->output;
}
}
示例2: index
/**
*
* @return type
*/
public function index()
{
$action = new Action('payment/paysondirect');
if (file_exists($action->getFile())) {
require_once $action->getFile();
$class = $action->getClass();
$controller = new $class($this->registry);
$controller->setInvoice();
$controller->{$action->getMethod()}($action->getArgs());
$this->output = $controller->output;
}
}
示例3: getChild
protected function getChild($child, $args = array())
{
$action = new Action($child, $args);
if (file_exists($action->getFile())) {
require_once $action->getFile();
$class = $action->getClass();
$controller = new $class($this->registry);
$controller->{$action->getMethod()}($action->getArgs());
return $controller->output;
} else {
trigger_error('Error: Could not load controller ' . $child . '!');
exit;
}
}
示例4: hasAction
protected function hasAction($child, $args = array())
{
$action = new Action($child, $args);
if (file_exists($action->getFile())) {
require_once $action->getFile();
$class = $action->getClass();
$controller = new $class($this->registry);
if (method_exists($controller, $action->getMethod())) {
return true;
} else {
return false;
}
} else {
return false;
}
}
示例5: getChild
protected function getChild($child, $args = array())
{
$action = new Action($child, $args);
$file = $action->getFile();
$class = $action->getClass();
$method = $action->getMethod();
//echo $file.'<br/>';
if (file_exists($file)) {
require_once $file;
$controller = new $class($this->registry);
$controller->{$method}($args);
return $controller->output;
} else {
exit('Error: Could not load controller ' . $child . '!');
}
}
示例6: hasAction
protected function hasAction($child, $args = array())
{
$action = new Action($child, $args);
if (file_exists($action->getFile())) {
require_once VQMod::modCheck($action->getFile());
$class = $action->getClass();
$controller = new $class($this->registry);
if (method_exists($controller, $action->getMethod())) {
return true;
} else {
return false;
}
} else {
trigger_error('Error: Could not load controller ' . $child . '!');
exit;
}
}
示例7: getChild
protected function getChild($child, $args = array())
{
$action = new Action($child, $args);
$file = $action->getFile();
$class = $action->getClass();
$method = $action->getMethod();
if (file_exists($file)) {
require_once $file;
$controller = new $class($this->registry);
if (substr($child, 0, 6) == 'module' && isset($args['position'])) {
$controller->data['module_position'] = $args['position'];
}
$controller->{$method}($args);
return $controller->output;
} else {
trigger_error('Error: Could not load controller ' . $child . '!');
exit;
}
}
示例8: execute
/**
* @param Action $action
* @return mixed
*/
private function execute($action)
{
$file = $action->getFile();
$class = $action->getClass();
$method = $action->getMethod();
$args = $action->getArgs();
if (file_exists($file)) {
require_once $file;
$controller = new $class($this->registry, $method);
if (is_callable(array($controller, $method))) {
$action = call_user_func_array(array($controller, $method), $args);
} else {
$action = $this->error;
$this->error = '';
}
} else {
$action = $this->error;
$this->error = '';
}
return $action;
}
示例9: render
protected function render($return = FALSE)
{
foreach ($this->children as $child) {
$action = new Action($child);
$file = $action->getFile();
$class = $action->getClass();
$method = $action->getMethod();
$args = $action->getArgs();
if (file_exists($file)) {
require_once $file;
$controller = new $class($this->registry);
$controller->index();
$this->data[$controller->id] = $controller->output;
} else {
exit('Error: Could not load controller ' . $child . '!');
}
}
if ($return) {
return $this->fetch($this->template);
} else {
$this->output = $this->fetch($this->template);
}
}
示例10: render
protected function render($return = false)
{
$cache = $this->registry->get('cache');
$user = $this->registry->get('user');
if (isset($this->cacheId) && !empty($this->cacheId) && isset($user) && !$user->islogged()) {
$cached = $cache->get($this->cacheId);
}
if (!isset($cached)) {
foreach ($this->children as $key => $child) {
$action = new Action($child);
$file = $action->getFile();
$class = $action->getClass();
$method = $action->getMethod();
$args = $action->getArgs();
if (file_exists($file)) {
require_once $file;
$controller = new $class($this->registry);
$controller->index($this->widget[$key]);
if (!is_numeric($key)) {
$this->data[$key . "_hook"] = $key;
$this->data[$key . "_code"] = $controller->output;
} else {
$this->data[$controller->id] = $controller->output;
}
} else {
exit('Error: Could not load controller ' . $child . '!');
}
}
if ($return) {
$r = $this->fetch($this->template);
if (isset($this->cacheId) && !empty($this->cacheId)) {
$cache->set($this->cacheId, $r);
}
return $r;
} else {
$this->output = $this->fetch($this->template);
}
} else {
if ($return) {
return $cached;
} else {
$this->output = $cached;
}
}
}
示例11: getReplace
public function getReplace()
{
if (is_numeric($this->_key)) {
$depth = ControllerModuleHtmlBlock::getDepth();
$args = array('html_block_id' => (int) $this->_key, 'depth' => $depth + 1);
$action = new Action('module/html_block', $args);
$file = $action->getFile();
$class = $action->getClass();
if (file_exists($file)) {
require_once $file;
$controller = new $class(app::registry()->get());
$controller->index($args);
$this->_replace = $controller->getOutput();
}
}
return $this->_replace;
}
示例12: loadControllerByRoute
public function loadControllerByRoute($route)
{
$action = new Action($route);
// copied from front controller to resolve the action controller and return it:
if (file_exists($action->getFile())) {
require_once $action->getFile();
$class = $action->getClass();
return new $class($this->registry);
}
throw new Exception("Controller doesn't exist!");
}