Где поставить пользовательскую функцию в CakePHP - PullRequest
9 голосов
/ 03 апреля 2011

У меня есть функция в одном из моих представлений, которая форматирует данные, поступающие из БД, перед их отображением.Поскольку я использую эту функцию во многих представлениях, я хотел бы создать глобальную функцию, которая была бы доступна из каждого представления.Как бы я это сделал?

Ответы [ 4 ]

12 голосов
/ 04 апреля 2011

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

Чтобы сделать свой помощник доступным во всех видах, добавьте его в массив $helpers вашего AppController (app/Controller/AppController.php).

4 голосов
/ 03 апреля 2011

Создание помощника (как объяснил Headshota и preinheimer) - лучшая идея, если функция сложная.

Но если ваша функция проста, вы можете открыть файл app / config / bootstrap.php

напишите свою функцию в этом файле и все.

функция будет доступна где угодно (модели, контроллеры, представления и т. Д.)

надеюсь, что это поможет ...

0 голосов
/ 12 июня 2014

Да, вы должны создать свои собственные помощники View.

Документацию вы найдете в разделе "Просмотр> Помощники" поваренной книги: здесь

Но раздел «Основные библиотеки> Помощники» просто объясняет, как использовать готовые к использованию помощники CakePHP, такие как HtmlHelper или FormHelper: здесь

Также вы можете заметить, что это та же логика, во-первых, с контроллерами и компонентами, а во-вторых, с моделью и поведением.

  • Затем в кулинарной книге представлены основные компоненты в core-library / toc-components
  • Как создать свой собственный, объясняется в контроллерах / компонентах
  • Основные поведения представлены в core-library / toc-поведенческих способах
  • Как создать свой собственный в моделях/ Practices

Эта система действительно эффективна и делает cakePHP удобной средой (спасибо за отличную документацию), которая эффективно реализует шаблон проектирования Model-View-Controller.

Если вы правильно поняли этот вопрос, вы никогда не зададите себе такой вопрос о cakePHP и в то же время о шаблоне MVC.

0 голосов
/ 03 апреля 2011

Я думаю, что вы хотите создать помощника вида, вот пример: Minify Helper

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...