Использование HTML вместо помощников CodeIgniter в представлениях - PullRequest
2 голосов
/ 12 декабря 2011

В представлениях в codeigniter мы можем написать код для форм, используя codeigniter.Например, для URL-адреса код в codeigniter:

<?php
anchor('site/myfunction','Send');
?>

Мой вопрос заключается в том, лучше ли написать этот код с помощью html в представлениях:

<a href="site/myfunction">Send </a>

Это пример, ноВопрос со всеми помощниками HTML для представлений.Руководство пользователя CodeIgniter предлагает использовать функции PHP, а не код HTML.Код php запрашивает сервер, а html - нет.Лучше использовать CodeIgniter для HTML?Я не знаю, использует ли помощники CodeIgniter эти запросы.

Я прошу прощения за мой английский.Спасибо за ваш ответ.

Ответы [ 2 ]

5 голосов
/ 12 декабря 2011

Причина, по которой вы хотите использовать библиотеку CodeIgniters, заключается в возможности быстрой модификации ваших HTML-элементов по всему сайту без особых усилий.Например, предположим, что вы хотите, чтобы на все теги <a> на вашем сайте был добавлен класс "ajax".Используя помощник anchor, вы можете легко это сделать.

Тем не менее, я не предвижу много решений, в которых вы будете изменять элементы HTML по всему сайту.С семантическим HTML, CSS и Javascript, я думаю, вы будете в полном порядке, не используя HTML-помощники CodeIgniters.Также, на мой взгляд, ваш код будет намного более читабельным.Используйте HTML.

Относительно производительности

Когда вы говорите: «Код php выполняет запросы к серверу, а html - нет», вы ошибаетесь, потому что всякий раз, когда кто-то посещает ваш сайт, онзапрашивают сервер.Вопрос здесь в том, сколько работы движок PHP выполняет по сравнению с обычным веб-сервером.В этом случае вызов функции тривиален для PHP и не должен рассматриваться как производительность.

Относительно URL

Ответ Пи сосредоточен на том факте, чтоРазрешение URL в CodeIgniter может быть странным, но при правильной конфигурации .htaccess или web.config вы сможете использовать ванильные hrefs без использования функций CodeIgniter.

2 голосов
/ 12 декабря 2011

Вы не должны использовать

<a href="site/myfunction">Send </a>

Потому что это может работать не везде. Но если вы используете это:

<a href="<?= site_url('site/myfunction') ?>">Send </a>

Там не будет большой разницы. Чистый HTML работает немного быстрее, но если у вас нет сайта с высоким трафиком, это не имеет значения. Использование функции CI хорошо, если вы находитесь в библиотеке, потому что вы не хотите сильно смешивать PHP и HTML, чтобы поддерживать концепцию Model-View-Controller. То, что вы используете в представлении, - это вопрос стиля, который вам нравится больше.

Лично я считаю, что функции формы codeigniter не очень хороши, и вместо этого я часто использую html.

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