Про фреймворки (CodeIgniter, jQuery)

Опубликовано 7 сентября, 2009 в JavaScript, PHP

Давненько не писал.

За время застоя начал не спеша осваивать различные фреймворки, нужные при разработке сайтов. Раньше я был категорически против них, считал, что любой фреймворк – есть глючная и тормознутая прокладка между мозгом программиста и результатом. Когда-то начинал изучать jQuery (JS фреймворк), но что-то не сложилось с ним, почему-то мне казалось проще писать весь код самому, не нравился большой размер фреймворка, который приходилось загружать всем пользователям. Вот, попробовал PHP фреймворк, и наконец-то пропала эта неприязнь к jQuery

CodeIgniter

Когда я столкнулся с тем, что появилось много проектов, где делалось много одной и той же работы, но под разным ракурсом, подумал об освоении какого-нибудь PHP фреймворка. Как раз наткнулся на тему серча, где человеку посоветовали CodeIgniter как лучший выбор для познающего прелести фреймворка программиста. Скачал, прочитал мануал с этого сайта, нашел еще кучу материала по теме. В общем-то через 2 часа чтения я уже смог перейти к практике. Все действительно просто и удобно, если есть хорошие знания PHP и начальные ООП, то изучить CodeIgniter – дело одного рабочего дня. В конце концов, вы получите некий каркас для своего будущего проекта.

Смотрите сами, как все удобно. «application/controllers» – в этой папке лежат файлы с контроллерами, контроллер является классом, который подключается в первой части URL. Например, в URL «site.ru/admin/pages», admin – и есть тот класс, файл которого называется admin.php. Дальше в URL идет название функции (метода) того самого класса admin, в данном случае pages. Вот конкретный пример:

<?php
class Admin extends Controller {
   function index() {
      echo 'Админка';
   }
   function pages($param, $param2) {
      echo 'Страница admin/pages';
   }
}

?>

Но это еще не все, в функцию могут передаваться также параметры ($param, $param2), которые берутся из URL после контроллера и функции. В общем случае URL может быть бесконечно вложенным: «/контроллер/функция/параметры/функции/сколько/угодное/количество«.

Главная задача фреймворка – обрабатывать URL, выводить результат. Так как принцип действия фреймворка связан архитектурой Model-View-Controller (MVC), помимо контроллеров, есть возможность использовать также модели и представления (но не обязательно). Все также очень удобно реализовано.

Если вы пользуетесь MVC фреймворком, конечным результатом является то, что код на выходе получается систематизированым, хотите вы этого или нет. Фреймворк заставляет это делать вас, даже неосознано вы будете писать очень грамотный и систематизированный код. Исчезает проблема наследования кода между программистами.

По-моему, супер. Но посмотрю еще Zend на всякий случай. Хоть и описывают этот Zend как неповоротливого гиппопотама.

jQuery

Вот, и этот JS-фреймворк пришлось освоить, так как понял все его прелести. А понял, когда написал вот такой код, совершенно случайно.

$(".alinks").click(function() { //По клику на ссылку класса alinks
     var src = $(this).attr("href");  //Получаем href ссылки, по которой кликнули
     $('#content').load(src);  //В слой #content аяксом загружаем урл в href ссылки.
     return false;
});

Это действительно круто. В 3 строчки я сделал то, что вручную писал бы очень долго и нудно. Опять же, нашел много документации по JQ в инете, освоить этот фреймворк – дело одного дня для тех, кто имеет среднее представление о JS, HTML и CSS.

jQuery дает программисту доступ к легкому использованию визуальных эффектов на странице, к аяксу, к элементам DOM, к различным фичам, сделать которые классическим JavaScript – дело извращенное и сложное.

Подробнее о jQuery расскажу в одном из следующих постов.




Комментарии «Про фреймворки (CodeIgniter, jQuery)»:
Комментариев: 2. Обязательно оставьте свой!
dlneo 21.06.2011 в 13:00

Во второй версии codeigniter jquery встроена по умолчанию. В интернете нет примеров по его использованию. Может вы встречали подобные ссылки?

vovans 14.10.2011 в 20:04

Так у CI же хорошая документация? Разве там нет этого?

У меня болг на ём )) точнее, на ЦМС, которая на CI2.

Ваш комментарий: