2008-09-03 8 views
19

Маленькая Справочная информация:
Я смотрел на несколько PHP рамок в последнее время, и это сводилось к двум. Zend Framework или CodeIgniter.интеграция Smarty в рамках Кодекса воспламенителя

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

Zend был вторым выбором, из-за лучшей системы шаблонов, которая встроена. Zend - это другой зверь, хотя по сравнению с CodeIgniter. Он подчеркивает «свободную связь между модулями», но представляет собой большую структуру. Мне не нравится чувствовать, что у меня много вещей под капотом, которые я никогда не использую. На мой взгляд, это лишние накладные расходы, поэтому я подумал о том, чтобы создать систему шаблонов в CodeIgniter: Smarty.

Вопрос (ы): Как легко/сложно интегрировать Smarty в CodeIgniter? Из моего первоначального сканирования документации CodeIgniter я вижу, что макет структуры достаточно прост для понимания, и я не ожидаю никаких проблем. Я хочу знать, использовал ли кто-нибудь его раньше, и поэтому знает о каких-либо «ошибках», которые вы испытали у меня, и это сделает это сложнее, чем это должно быть или невозможно сделать. Я также хочу знать, хорошо ли это вообще делать. Является ли система шаблонов в CodeIgniter достаточной для нормального использования? Существуют ли какие-либо другие модули шаблонов, которые хороши для CodeIgniter помимо Smarty? Мне лучше с Zend Framework? Здесь изобретен любое колесо? Спасибо за помощь!

+0

Как и другие, например, компонент Zend_View сам по себе очень мощный и расширяемый [с помощниками и т. д.]. Вам не нужен Smarty в миксе. Кроме того, Smarty - очень тяжелый код PHP4, который в общем вы хотите избежать. Помимо этого, используйте любую инфраструктуру, с которой вам удобнее. – Till 2008-09-27 15:28:05

ответ

1

Я сделал быстрый поиск Google и нашел следующее: http://devcha.blogspot.com/2007/12/smarty-as-template-engine-in-code.html http://codeigniter.com/forums/viewthread/67127/

Если дизайнер не знаком с Smarty, я думаю, что это почти то же самое, как если бы вы использовать существующую систему CodeIgniter шаблонный (что листья все на PHP). Это также зависит от сложности проекта.

Вы также можете подключить Smarty к Zend Framework. Это сложнее, чем с CodeIgniter, но уже есть праймер о том, как это сделать в документации ZF. http://framework.zend.com/manual/en/zend.view.scripts.html Плюс много учебников в сети.

По-моему, это почти то же самое, вы можете использовать чистый PHP или Smarty в качестве шаблона «движок», поэтому это зависит от проекта. Кроме того, сравните разработчика, который имеет большой опыт работы и уже имеет библиотеку помощников вида, поэтому она использует чистый PHP, а не дизайнер, который ничего не знает о PHP, но имеет большой опыт работы с Smarty. Иногда решения должны основываться на том, кто собирается что-то делать.

2

Слегка OT, надеюсь, вы не возражаете ...

Я пользователь Zend Framework, и я думаю, что стоит говорить о том, что слабая связь означает, что вы не должны включать в себя любые файлы, которые вы не активно использовать. Надеюсь, это отрицает вашу озабоченность по поводу ненужных накладных расходов.

С материалами макетов, добавленными в недавнем выпуске ZF, его шаблоны действительно сложно устранить ... и он полностью подключается, как упоминает Фавио. Чем больше я использую ZF, тем больше мне это нравится; они делают то, что я сделал бы!

3

Извините, что возродить старый вопрос - но ни один из ответов не отмечен как «принят».

Там есть библиотека называется «шаблон», что делает большую работу, чтобы позволить вам использовать почти любой шаблон парсер вы хотите:

Template CI Library - Parsers

Синтаксис довольно легко интегрировать в приложение CI и место интеграции smarty.

0

Отъезд custom CodeIgniter templating library. Я уже использовал его для нескольких проектов, и он прост в использовании. Я знаю, что это сообщение поздно, но стоит проверить.

0

Не найдено ответа, выбранного для данного вопроса, и не было предоставлено актуальное решение для работы с последней версией Codeigniter (2.0) и последней версией Smarty (3.0.5).).

Эта библиотека позволяет использовать Smarty 3 с Codeigniter 2.0, чтобы вы могли использовать специальные функции Smarty 3, такие как наследование шаблонов.

http://ilikekillnerds.com/2010/11/using-smarty-3-in-codeigniter-2-a-really-tiny-ci-library/

0

Интеграция Smarty в CodeIgniter? Это бриз! template system in CodeIgniter очень простой.

Выполните следующие шаги для Smarty 3 в CI 3:

Скачать CodeIgniter 3

Скачать Smarty 3 и поместить его содержимое в '/ THIRD_PARTY/Smarty приложения' папку

Создать «Custom_smarty.php "файл в„приложения/библиотеки“и добавить этот код:

<?php 
if (! defined('BASEPATH')) exit('No direct script access allowed'); 

require_once(APPPATH.'third_party/smarty/Smarty.class.php'); 

class Custom_smarty extends Smarty { 

    function __construct() 
    { 
    parent::__construct(); 
    $this->setTemplateDir(APPPATH.'views/templates/'); 
    $this->setCompileDir(APPPATH.'views/templates_c/'); 
    } 
} 
?> 

Создать„“&„templates_c“складку шаблонов ERS внутри папки 'приложения/Views'

Создать простой файл 'test.tpl' в 'видом приложения// Шаблоны' папку

Open 'autoload.php' в '/ конфигурации приложения' папку и добавить:

$autoload['libraries'] = array('custom_smarty'); 

И внутри контроллера: $this->custom_smarty->display('test.tpl');

Если вы работаете на локальный набор разрешений: sudo chmod -R 777 templates_c. Другое, обратитесь в службу хостинга, если вы поймаете ошибку. Невозможно записать файл. Сначала убедитесь, что существует папка templates_c.

В противном случае вы можете использовать другой движок для шаблонов, например, Twig.