Почему использование механизм шаблонной обработки с платформой?

Короче говоря, объекты Java имеют некоторые очень специфические свойства.

В целом, Java имеет типы примитивов (int, bool, char, double, и т.д.), которые передаются непосредственно значением. Тогда Java имеет объекты (все, что происходит от java.lang.Object). Объекты на самом деле всегда обрабатываются через ссылку (ссылка, являющаяся указателем, которого Вы не можете коснуться). Это означает, что в действительности, объекты передаются ссылкой, поскольку ссылки обычно не интересны. Это однако означает, что Вы не можете измениться, на какой объект указывают, когда сама ссылка передается значением.

это звучит странным и сбивающим с толку? Давайте рассмотрим, как передача реализаций C ссылкой и передает значением. В C соглашение по умолчанию является передачей значением. void foo(int x) передачи интервал значением. void foo(int *x) функция, которая не хочет int a, но указатель на интервал: foo(&a). Можно было бы использовать это с & оператор для передачи переменного адреса.

Берут это к C++, и у нас есть ссылки. Ссылки являются в основном (в этом контексте) синтаксическим сахаром, которые скрывают часть указателя уравнения: void foo(int &x) назван [1 111], где сам компилятор знает, что это - ссылка, и адрес нессылки a должен быть передан. В Java все переменные, относящиеся к объектам, на самом деле имеют ссылочный тип, в действительности вызывание вызова по ссылке для большинства предназначает и цели без мелкомодульного управления (и сложность) предоставленный, например, C++.

28
задан Jens Schauder 24 November 2011 в 08:48
поделиться

5 ответов

У меня действительно два веские причины, которые я могу придумать для этого ...

  1. Создание разметки, которая повторяется по всему сайту в согласованном формате, проще, к тому же вы можете обновить ее позже без большого количества запросов.
  2. Если это для реальной компании, люди, определяющие контент, вряд ли будут быть действительно знакомым с HTML, а тем более с PHP. Очень удобно иметь простой язык шаблонов, который поддерживает стили в правильном виде и генерирует правильную разметку без особого знания кода.
17
ответ дан 28 November 2019 в 03:13
поделиться

Во-первых, чистый PHP НЕ является механизмом создания шаблонов.

Далее, инфраструктура MVC определяет, что структура разделена на Модель, Представление и Управление. Это не означает, что у платформы есть механизм шаблонов, хотя View может быть интегрирован с собственным или внешним механизмом шаблонов. Таким образом, структура может иметь или не иметь механизма шаблонов.

В-третьих, View! = Template. Просмотр относится только к тому, как отображаются данные - обычно шаблон не используется, тогда как механизм шаблонов относится к фрагменту кода, способному красиво помещать данные в шаблоны, что вы можете значительно уменьшить необходимость изменять все файлы, когда вы можете их изменять. в шаблонах

Наконец, пользователи фреймворка могут предпочесть использовать более распространенный механизм шаблонов, такой как Smarty, а не собственный механизм шаблонов во фреймворке.

17
ответ дан 28 November 2019 в 03:13
поделиться

Если вы не допускаете короткие теги,

{$foo}

гораздо более читабелен, чем

<?php echo $foo; ?>

Сумма, умноженная на большой проект, дает

8
ответ дан 28 November 2019 в 03:13
поделиться

One big reason why you would want a separate template engine is because raw PHP is a bit too much for the presentation of your site. If it's just you making your site, and you have a good idea about how the site's templates aught to fit together, then this isn't really a downside, but for larger projects, it gets in the way.

If your project has outgrown a single developer, or if you want to add designer even before that, PHP is probably too hard a language to express the presentation in. Purpose built template languages are at the advantage because they are simple, and don't give you so-much rope as to hang yourself.

Larger projects, even when they don't require much input from multiple developers, can make the free-form of plain PHP a bit unwieldy. the purpose built template engine provides (or enforces) a basic structure to how each template fits with the rest.

6
ответ дан 28 November 2019 в 03:13
поделиться

Маурис уже объяснил, почему MVC! = Шаблонизатор, но я хотел бы добавить, что чем мощнее шаблонизатор, тем чище и лаконичнее будут ваши шаблоны. Это особенно упрощает их редактирование для людей, не знакомых с PHP (например, если дизайнер / разработчик интерфейса должен редактировать HTML). В общем, MVC не могут похвастаться такой функциональностью.

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

Далее,

2
ответ дан 28 November 2019 в 03:13
поделиться
Другие вопросы по тегам:

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