Вопрос о конвенции: Когда делают Вы используете функцию Метода get/метода set вместо того, чтобы использовать Свойство

Да, это возможно.

Создайте add.ctp в папке Ajax, например:

/Posts
  index.ctp
  /Ajax
  add.ctp

в Postings :: add () установить макет Ajax и с помощью js get / posts / add и render модальные.

Читать:

https://book.cakephp.org/3.0/en/controllers/components/request-handling.html https: //book.cakephp .org / 3.0 / en / views.html # layouts

РЕДАКТИРОВАТЬ:

в контроллере

public function add()
{
   // your code here ...
   if ($this->getRequest()->is('ajax')) {
       // render "add" view in Ajax folder and use "ajax" Layout
       $this->render('Ajax/add', 'ajax')
   }
}

https : //book.cakephp.org/3.0/en/controllers.html#rendering-a-specific-template

РЕДАКТИРОВАТЬ 2 (часть jQuery)



$('body').on('click', '[data-toggle="modal"]', function(){
        $($(this).data("target")+' .modal-body').load($(this).data("remote"));
    });  

14
задан Haoest 15 September 2008 в 21:18
поделиться

8 ответов

Руководство по проектированию.NET предоставляет некоторые ответы на этот вопрос в эти Свойства по сравнению с разделом Methods .

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

При решении, использовать ли свойство или метод, помогает, думаю ли я о нем как поле. Я думаю о поведении свойства и спрашиваю меня, "Если бы это было полем на классе, то я был бы удивлен, вело ли это себя способ, которым это делает?" Рассмотрите, например, TcpClient. Метод GetStream . Это может выдать несколько исключений на основе того, если связь установлена, и важно, чтобы TcpClient был настроен, прежде чем Вы попытаетесь получить поток. Из-за этого это - Получить метод, а не свойство.

, Если Вы бросаете хороший взгляд на руководство по проектированию, Вы будете видеть, что это обычно не вопрос предпочтения; существуют серьезные основания использовать методы вместо свойств в определенных случаях.

19
ответ дан 1 December 2019 в 10:19
поделиться

Если Ваш язык поддерживает свойства, просто используйте свойства.

2
ответ дан 1 December 2019 в 10:19
поделиться

Используйте свойства. Одно интересное примечание из книги руководства по проектированию платформы MS - то, что, если Вы имеете свойство и должны добавить, дополнительные методы для более сложного устанавливали/получали, затем необходимо устранить свойство и пойти с, только добираются/методы установки.

2
ответ дан 1 December 2019 в 10:19
поделиться

Это - все персональное предпочтение. Когда это компилируется, это оказывается функциями метода считывания/метода set так или иначе.

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

1
ответ дан 1 December 2019 в 10:19
поделиться

Я сказал бы, всегда спрашивают себя, которые имеют больше смысла. Методы имеют тенденцию, как понимать, как действия работать и обычно сформулированы &mdash как таковой; open(), flush(), parse(). Свойства имеют тенденцию быть понятыми как более причудливые поля/переменные — DisplayName, AutoSize, DataSource.

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

1
ответ дан 1 December 2019 в 10:19
поделиться

Я склонен использовать методы set, когда значение только для записи или существует несколько значений, которые будут установлены сразу (очевидно). Также мой инстинкт, как Ваш, должен использовать методы считывания и методы set как сигнал, что процесс может быть продолжительным, потоки икры, или сделать некоторую другую нетривиальную работу. Кроме того, если метод set имеет неочевидные предпосылки в классе, я мог бы использовать метод считывания или метод set вместо этого, так как люди редко документация чтения относительно свойств и свойств, как ожидают, будут доступны в любом случае. Но даже при этих обстоятельствах я мог бы использовать свойство, если оно потенциально сделает чтение кода вызова лучше.

1
ответ дан 1 December 2019 в 10:19
поделиться

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

И они должны иметь никакие побочные эффекты .

0
ответ дан 1 December 2019 в 10:19
поделиться

Забудьте Методы получателя и Методы установщика. Просто используйте Свойства.

интересная вещь упомянуть состоит в том, что Свойства заканчиваются как Метод установщика и/или Метод (методы) получателя в блоке. Метод set и/или Метод считывания становятся Свойством только определенными метаданными. Таким образом, на самом деле, свойства = метод set/методы получателя.

0
ответ дан 1 December 2019 в 10:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: