У меня есть два типа данных, которые похожи, но разные. У них есть некоторые фрагменты презентационного кода, которые они разделяют, но некоторые из них, которые они реализуют по-разному.CakePHP Обмен кодом между помощниками
Я думал, что у меня будет функция фабрики в помощнике (Tracker - TrackerHelper), как это;
$this->Tracker->getInstance("boolean"); // Returns a BooleanTrackerHelper
Но я не уверен, как вернуть другого помощника из другого помощника. Я не думаю, что могу просто сделать return new BooleanTrackerHelper()
, поскольку у CakePHP, вероятно, есть свои собственные подпрограммы, которые он хочет пройти, и, кроме того; что заставило бы меня поместить все классы в один и тот же файл.
В руководстве есть функция, которая позволяет вам загружать помощника из вида ($this->Helpers->load()
), но я хочу загрузить помощника из другого помощника.
В целом; Что вы делаете, если не хотите повторять в кучу разных представлений, что если данные имеют тип A, используйте вспомогательный помощник A, и если это тип B, используйте помощника B и где помощники A и B имеют некоторые фрагменты кода.
Возможно, существует более яркий способ решения этого вопроса, если это так; пожалуйста, не стесняйтесь делиться!