Главная > cakephp, переводы > Хелперы. Полезные манипуляции со строками[перевод]

Хелперы. Полезные манипуляции со строками[перевод]

CakePHP поставляется с кучей полезных хелперов и компонентов, которые обеспечивают удобные инструменты для обработки и манипулирования данными. Эти хелперы значимы не только для пользователя фреймворка, но и могут оказать большую помощь кому-нибудь кто пишет PHP приложения не используя CakePHP.
Вот несколько примеров:

NumberHelper

Number хелпер содержит мощные функции для манипуляции с цифрами.

precision()

precision() возвращает число форматированное с уровнем точности. Например:

echo $number->precision(25.02558, 3);
//выведет
25.026

toReadableSize()

Эта функция принимает параметром размер файла и возвращает хорошо отформатированную строку с указанием размера в байтах, Кб, Мб, Гб и Тб. Например:

echo $number->toReadableSize(2502558);
//выведет
2.39 MB

Другие функции хелпера Numer:
toPercentage(): Форматирует число в проценты.
format():Форматирует число в денежный формат.
currency():Форматирует число в денежный формат подписанные знаком валюты.

Смотрите файл cake/libs/view/helpers/number.php чтобы ознакомится с полным списком функций Number хелпера и их применением.

TextHelper

Text хелпер содержит полезные функции для манипуляции с текстовыми строками.

highlight()

Подсвечивает заданную фразу в текстк. Например:

echo $text->highlight("Word example will be highlighted","example");
//выведет

This is the string in which word example will be highlighted

Примечание: вы должны определить стиля для класса “highlight” в вашем CSS. Например:
.highlight{background:#FFFF00;}

stripLinks()

Уберет все ссылки(<a href=….) из заданного текста. Пример:

echo $text->stripLinks('Dont show the clickable link on <a href="http://www.givebackindia.com">Online Charity Mall</a>');
//выведет
Dont show the clickable link on Online Charity Mall

autoLinkUrls()

Добавляет ссылки (<a href=….) в заданном тексте в котором строки начинаются с http:// и ftp://.

autoLinkEmails()

Добавляет email ссылки(<a href=”mailto:….) в заданном тексте.

truncate()

Обрезает строку до длины указанной во втором параметре и заменяет последние символы. Заботится о HTML тэгах и кодировке.

Например:

echo $text->truncate("Cuts a string to the length of given second argument and replaces the last characters. Takes care of HTML tags and encoding.",50);
//outputs
Cuts a string to the length of given second arg...

excerpt()

Создает выдержку из текста вокруг искомой фразы длиной определенной радиусом и добавляет окончание.

toList()

Создает список разделенный запятыми где два последних элемента соеденены ‘and’.

Смотрите файл cake/libs/view/helpers/text.php чтобы ознакомится с полным списком функций и их использованием.

Time Helper

convert()

Конвертирует данное время(во временной зоне сервера) в пользовательское локальное время со сдвигом от GMT.

nice()

Возвращает хорошо форматированную строку для данной Datetime строки.

niceShort()

Возвращает форматированную строку даты в виде описания.

isToday()

Возвращает true если данная datetime строка равна текущей дате.

isThisWeek()

Возвращает true если данная дата на текущей неделе.

isThisMonth()

Возвращает true если данная дата в текущем месяце.

isThisYear()

Возвращает true если данная дата в текущем году.

wasYesterday()

Возвращает true если данная дата была вчера.

isTomorrow()

Возвращает true если данная дата будет завтра.

timeAgoInWords()

Возвращает относительную дата или форматированную в зависимости от разницы между текущей датой и данной.

format()

Возвращает UNIX timestamp, данный либо в UNIX timestamp или правильной strtotime() строке.

Смотрите файл cake/libs/view/helpers/time.php чтобы ознакомится с полным списком функций и их использованием.

Также есть и другие хелперы, некоторые из них(например html, form, javascript, ajax) каркас отображений в CakePHP. Вам необходимо посмотреть на них в cake/libs/view/helpers для лучшего применения.

  1. 18 Июнь 2009 в 16:39 | #1

    Интересно, а почему так редко блог обновляете?

  2. admin
    18 Июнь 2009 в 17:00 | #2

    пока нет времени уделять больше внимания блогу

  3. 3 Май 2011 в 22:45 | #3

    Спасибо за перевод. Рускоязычной информации о кейке (я имею ввиду актуальной) очень мало и она разрозненая. Вы делаете хорошее дело — еще раз спасибо. Желаю побольше времени для блога…

  4. michas
    4 Май 2011 в 09:21 | #4

    @Testovie foto
    Спасибо за отзыв. Будем стараться)

  1. Пока что нет уведомлений.