php 使用call_user_func_array
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 使用call_user_func_array相关的知识,希望对你有一定的参考价值。
<?php
public function __construct($urlvalues){
$this->urlvalues = $urlvalues;
$this->controller = $this->urlvalues['controller'] ;
$paramsarray[] = $this->urlvalues['id'];
$this->url_params = array_values( $paramsarray );
....
}
public function createController() {
$mycontroller = $this->urlvalues['controller'] ;
$mycontroller = $this->convertToStudlyCaps($mycontroller);
$mycontroller = $this->getNamespace() . $mycontroller;
$controller = $this->namespace . $this->controller;
// $mycontroller = ucfirst($this->controller) ;
echo "NAMESPACE: $this->namespace<br>";
echo "CONTROLLER: $this->controller<br>" ;
echo "PATH: " . $controller . "<br>";
echo "MY CONTROLLER: " . $mycontroller . "<br>";
if ( !$this->urlvalues['controller'] ) {
$homeNS = 'App\Controllers\Home';
$home = new $homeNS ;
$home->index() ;
echo "HOME" ;
}
elseif(class_exists( $controller ) ) {
$objcontroller = new $mycontroller(); // NEW CONTROLLER
// return the parent classes of the controller
$parents = class_parents($controller);
// Check if this class extends the Base Controller
if(in_array("Core\Controller", $parents) ) {
if(method_exists($controller, $this->action)) {
if ( !empty($this->url_params && $this->url_params != "") ) {
call_user_func_array( array( $objcontroller, $this->action),$this->url_params ) ;
}
else {
$objcontroller->{$this->urlvalues['action'] }() ;
}
}
else {
echo "<h1>Method $this->action does not exist</h1>";
return;
}
} // END in_array
else {
echo '<h1>Router controller not found</h1>';
return;
}
} // END class_exists
....
以上是关于php 使用call_user_func_array的主要内容,如果未能解决你的问题,请参考以下文章
使用 zend 读取 php.ini 进行 PHP 扩展(不是 PHP 语言)
php PHP - 使用AJAX调用php类函数
如何使用包含的 php 文件中的 php 变量
mac使用php-version切换PHP版本
如何使用php将php代码写入文件
PHP php-log - 使用PHP处理日志文件