пятница, 16 января 2009 г.

Перегенерить кеш для движка PHPFox

Недавно столкнулся с проблемой - как перегенерить весь кеш для сайта написаного на движке PHPFox?

Для того чтобы перегенерить весь кеш - необходимо удалить все содержимое папки кеша. Это бывает просто необходимым если вам надо задать другие значения константам для конфига которые хранятся в БД.

Например размер  максимально возможного для загрузки файла хранится в таблице phpfoxtest_sys_sett в переменной max_upload_size. Она в свою очередь доступна из приложения как App::getSetting('max_upload_size'). 

Именно для изминения значения этой константы мне и пришлось перегенерить весь кеш.

Для того чтобы довить новую переменную языка (тестовую константу которая имеет перевод на нужный язык) вам надо добавить ключ с переводами в таблицу phpfoxtest_language_phrase, а потом удалить файл languages_1.php в /file/cache/ 

CodeIgniter Partials

В контроллере Игнайтера создаем небольшой приватный метод:

private function template($data,$page='index'){
  $data['content'] = $this->load->view('controller_name/'.$page, $data, true);
  $data['menu'] = $this->load->view('shared/menu', array(), true);
  $this->load->view('shared/layout', $data);
 }
}

Мы собираем партиалы используя возможность метода load не только отображать страницу, но и сохранять ее в переменной если последним параметром передан TRUE.


Использовать метод нужно так:

function view()
{
  $data['title'] = $this->lang->line('title');
  $data['heading'] = $this->lang->line('heading');
  $this->template($data,'view');
}

Для того, чтобы достать партиалы в главном шаблоне нужно сделать так:


echo $content
echo $menu


Только надо вставить вызовы в нужное место cверстанного шаблона(вставка php кода в Html).

пятница, 9 января 2009 г.

Introduction to CodeIgniter

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

Почему имеено CodeIgniter?

Мой любимый яык программирования безусловно только руби, но... программист должен писать на любом языке. Все же,  я хотел найти фреймворк для ПХП похожый на родные Релсы. Таковым на данный момент является CodeIgniter

Основные его особенности:
  • MVC архитектура и жесткая структура папок (точно так же как и в рельсах)
  • Встроен PHP аналог ActiveRecord, не такой мощный, это факт, но довольно удобный. При желании использовать что-то помощнее, не трудно подключит полноценный ORM - Doctrine.
  • Удобный роутер урлов( Аля-рельсы).
  • Удобное подключение БД.
  • Легкость настройки всех параметров фреймворка в одном месте (главный контролер, автозагрузка хелперов и т.д.)
  • Большой набор хелперов
  • Очень богатая и подробная ДОКУМЕНТАЦИЯ
  • Богатый набор компонентов и плагинов (например отличный пейдженатор).
  • Простое расширение функционала посредством установки компонент или расширения имеющихся
  • И самое главное для меня, все лежит почти там где и в рельсах, и по возможности реализованы особенности рельсов.
Но все же, ето далеко не Рельса... Сама мощь и красота руби делает рельсы рельсами. 

НИКОГДА Не забывайте ВЕЛИКОГО  НАСТАВНИКА, ибо он раскрывал и раскрывает новичкам и професионалам удивительный мир Ruby on Rails.