Куките на codeigniter не могат да работят

Прекарах няколко часа, опитвайки се да разбера защо не мога да накарам проста кука да работи в codeigniter.

Активирах кукички в конфигурацията. проверих три пъти правописа и главните и главните букви.

Написах кода по-долу в config/hooks.php:

$hook['pre_controller'] = array(
'class'    => '',
'function' => 'set_previous_page',
'filename' => 'previous_page',
'filepath' => 'hooks'
);

И след това моят файл previous_page.php, който се намира в папката hooks:

function set_previous_page()
{
    echo "Hi!"; die;
}

Очевидно целта не е ехото Здравейте! и след това спрете изпълнението на скрипта, но това е само за да работи. И аз опитах няколко точки на кука. Но pre_controller i трябва да може да изведе hi и да убие скрипта и след това да има hi като единствен изход.

Но когато зареждам страниците си, те просто се зареждат както обикновено.

Опитах се нарочно да объркам синтаксиса в масива с кукички и ми даде грешка и останалата част от страницата не беше заредена. Това просто ми казва, че поне разпознава, че съм включил куките.

Но от тук нататък просто съм изгубен. Не знам какво да правя?

Имате ли идеи Сега ще се опитам да го поспя и се надявам някой умен човек тук да има отговора! Благодаря ви предварително!

РЕДАКТИРАНЕ: Между другото, аз използвам MX (модулни разширения), библиотека с шаблони на phil sturgeons и Ion auth. Наистина не мислете, че те трябва да имат въздействие.


person jah    schedule 02.05.2013    source източник
comment
Опитвали ли сте да добавите функцията вътре в класа, както в ellislab.com/codeigniter/user- guide/general/hooks.html? Казва, че класът не е задължителен, но е по-добре да опитате и това. Използвах с клас без никакви проблеми.   -  person Nish    schedule 02.05.2013
comment
Току-що го пробвах и нямаше разлика за съжаление   -  person jah    schedule 02.05.2013


Отговори (2)


Вашият код не изглежда като кода в ръководството. провери ли го

http://www.codeigniter.com/user_guide/general/hooks.html

Току-що го пробвах локално и работи добре.

приложение/config/hooks.php:

$hook['pre_controller'] = array(
   'class' => '',
   'function' => 'Myfunction',
   'filename' => 'Myclass.php',
   'filepath' => 'hooks',
   'params' => ''
);

приложение/кукички/Myclass.php:

<?php

function Myfunction(){

    echo "wut wut";
    die;
}

С всичко готово посещавам страницата и получавам wut wut.

Липсва ви разширението php в името на файла, но това би извело изключение unexpected end of input, ако всичко останало работи.

person stormdrain    schedule 02.05.2013
comment
Всъщност разбрах по-рано, току-що бях свикнал да не пиша разширението, когато се занимавам с roues и така нататък в codeigniter. Но това беше решението (: благодаря - person jah; 03.05.2013

Това може би е много късен отговор, просто в случай, че някой се сблъска с подобен проблем като мен, използвайки CI 3.x. Просто се уверете, че активирате куките във файла config/config.php $config['enable_hooks'] = TRUE;, преди да поставите запис в config/hooks.php

person massquote    schedule 21.07.2018