2014-05-02 6 views
0

Так просто пытается сделать вещи проще здесь ...форматирования даты с PHP

У меня есть контроллер с функцией в CodeIgniter следующим образом:

public function formatDate($date) 
{ 
    $info = new DateTime($date); 

    return $date = $info->format('m-d-Y'); 
} 

А потом в представлении я пытаюсь вызвать эту функцию следующим образом:

<?php echo $this->formatDate($user->last_login); ?> 

Я думал, имея только поставить дату, я мог бы сделать то, что было простым и повторного использования на протяжении всего приложения.

Но когда я запускаю код, я получаю эту ошибку:

Call to undefined method CI_Loader::formatDate() 

мне нужно поставить функцию в другом месте делать. Я хочу сделать функцию повторно используемой и только предоставить дату, которая должна быть отформатирована, а затем возвращена.

дата в формате хранится в базе данных как datetime

+0

Где я использую это? Как исправить проблему? Ваш комментарий не помогает вообще. Пустая трата времени для чтения. – user2673735

+1

@shankar, я думаю, что это ошибка, которую он получил. Вам нужно создать класс контроллера в папке библиотек и добавить к нему свой метод даты, а затем в других контроллерах, которые вы распространили бы на класс, созданный в папке библиотек, тогда вы сможете использовать метод даты в своем приложении – andre3wap

+0

Спасибо @ andre3wap. Рад, что вы могли потратить время, чтобы внимательно прочитать мой вопрос и решить проблему. Я создал библиотеку для этих функций. Это сработало! – user2673735

ответ

0

Почему бы не использовать это в вашем представлении?

<?php echo date("m-d-Y", strtotime($user->last_login)); ?> 

Таким образом, вам не нужно создавать функцию для простой задачи. Также, если вы хотите отформатировать определенные даты по-разному, вы можете.

Для этого потребовалось отредактировать. Я нашел это: http://ellislab.com/codeigniter/user-guide/general/helpers.html

CodeIgniter does not load Helper Files by default, so the first step in using a Helper is to load it. Once loaded, it becomes globally available in your controller and views.

Я использую CI в своей работе и никогда не нужно перед использованием помощников. Но похоже, что это то, что вы хотите.

Я по-прежнему чувствую, что просто писать код для дат форматирования лучше, но каждому свой. Любое из этих решений должно быть тем, что вы хотите.

Смежные вопросы