Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (4) « Первая ... 2 3 [4]  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Как устранить ошибку: «call_user_func_array() expe, Как устранить ошибку: «call_user_func_array() expects parame
Intrerio  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 41503
На форуме: 2 года, 2 дня
Карма:




Вывожу целый метод и выделяю регулярку.

public function run()
{
// Получаем строку запроса
$uri = $this->getURI();

// Проверяем наличие такого запроса в массиве маршрутов (routes.php)
foreach ($this->routes as $uriPattern => $path) {

// Сравниваем $uriPattern и $uri
if ([b]preg_match("~$uriPattern~", $uri)[/b]) {

// Получаем внутренний путь из внешнего согласно правилу.
$internalRoute = preg_replace("~$uriPattern~", $path, $uri);
echo $uri; //Если ввести не правильный адрес в строке
//пример:www.eshopper.ru/12345 результат 12345
//это есть не существующий адрес!правильно?
//Здесь можно перенаправить результат на страницу 404?
//хостинг виртуальный и не поддерживает страницы ошибок.

// Определить контроллер, action, параметры


$segments = explode('/', $internalRoute);

$controllerName = array_shift($segments) . 'Controller';
$controllerName = ucfirst($controllerName);

$actionName = 'action' . ucfirst(array_shift($segments));

$parameters = $segments;

// Подключить файл класса-контроллера
$controllerFile = ROOT . '/controllers/' .
$controllerName . '.php';

if (file_exists($controllerFile)){
include_once($controllerFile);
}

// Создать объект, вызвать метод (т.е. action)
$controllerObject = new $controllerName;

/* Вызываем необходимый метод ($actionName) у определенного
* класса ($controllerObject) с заданными ($parameters) параметрами
*/


$result = call_user_func_array(array($controllerObject, $actionName), $parameters);

// Если метод контроллера успешно вызван, завершаем работу роутера
if ($result != null) {
break;
}
}
}
}


Теперь проблема. Если заменить:

~$uriPattern~
на

~^$uriPattern$~
то ошибка
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'SiteController' does not have a method 'actionIndexcsite'
пропадает но во время аякс запроса:
function recievePolis(id,status){  
$.ajax({
url: "/check/oscpv/saveTransfer",
type: "POST",
data: {
id:id,
status:status
},
beforeSend: function(){ $("#ajax_vis").show();},
success:function(data){
$('#transfer').html(data);
$("#ajax_vis").hide();

},
error:function(){
alert('Error!')
$("#ajax_vis").hide();
}
}
);
}
возникает ошибка что класс не найден, и это только по аяксу.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (4) « Первая ... 2 3 [4]  Ответ в темуСоздание новой темыСоздание опроса