Pull to refresh
23
0
Dmitry Khomutov @Corpsee

Web-разработчик

Send message

Создаем собственный фреймворк на основе Symfony2. (Часть 3)

Reading time4 min
Views4.3K

Оглавление





До сих пор наше приложение было довольно простым, поскольку содержало только одну страницу.
Что бы немного все усложнить, добавим другую страницу, говорящую «goodbye»:
    <?php

    // framework/bye.php

    require_once __DIR__.'/autoload.php';

    use Symfony\Component\HttpFoundation\Request;
    use Symfony\Component\HttpFoundation\Response;

    $request = Request::createFromGlobals();

    $response = new Response('Goodbye!');
    $response->send();

Как видите, большая часть кода точно такая же как и для первой страницы.
Давайте отдельно выделим общий код для всех наших страниц.
«Выделение общего кода», звучит как отличный план для нашего первого «настоящего» фреймворка!
Читать дальше →
Total votes 22: ↑15 and ↓7+8
Comments8

Создаем собственный фреймворк на основе Symfony2. (Часть 2)

Reading time6 min
Views7.5K
Оглавление

Часть 1
Часть 2
Часть 3
Часть 4
Часть 5

Прежде чем мы углубимся в рефакторинг кода, я сначала хочу сделать шаг назад и взглянуть на то, почему вы хотели бы использовать фреймворк вместо того, чтобы писать ваше приложение на чистом PHP. Почему использовать фреймворк на самом деле хорошая идея, даже для простейшего фрагмента кода, и почему создание собственного фреймворка на основе компонентов Symfony2 лучше, чем создавать фреймворк с нуля.
  • Я не буду говорить об очевидных преимуществах использования фреймворков при работе с большими приложениями и с более чем несколькими разработчиками; в сети уже множество хороших ресурсов по этой теме.

Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments5

Создаем собственный фреймворк на основе Symfony2. (Часть 1)

Reading time4 min
Views19K
Оглавление


Symfony2 это набор автономных, многократно используемых библиотек, не завязанных на друг-друге, которые решают часто встречающиеся задачи в веб-разработке.

Вместо того что бы использовать низкоуровневые компоненты, вы можете использовать полномасштабный фреймворк который базируется на этих компонентах — Symfony2… Или, вы можете написать свой собственный. Эта серия статей о последнем.

Зачем вам нужен собственный фреймворк? (Why would you like to create your own framework?)



Во-первых, почему вы хотите создать собственный фреймворк? Ведь, если посмотреть, все вам скажут, что не стоит изобретать велосипед, а использовать уже готовое решение. И в большинстве случаев они будут правы, но есть несколько причин что бы начать разработку своего фреймворка:

  1. Что бы изучить низкоуровневую архитектуру современных веб-ориентированных фреймворков, в частности Symfony2 и ее компонентов.
  2. Что бы создать фремворк «под ключ» для ваших специфических нужд. (Только прежде убедитесь, что ваши нужды действительно специфические)
  3. Для эксперимента ради удовольствия ( научился и забил )
  4. Для рефакторинга уже существующих приложений, которые нуждаются в более современных и устоявшихся практических решениях.
  5. Что бы доказать что вы это можете (… пусть и с небольшой помощью)

Читать дальше →
Total votes 32: ↑20 and ↓12+8
Comments29

Алгоритм Хаффмана на пальцах

Reading time5 min
Views521K
Вы вероятно слышали о Дэвиде Хаффмане и его популярном алгоритме сжатия. Если нет, то поищите информацию в интернете — в этой статье я не буду вас грузить историей или математикой. Сегодня я хочу просто попытаться показать вам практический пример применения алгоритма к символьной строке.
Разархивировать текст статьи
Total votes 58: ↑54 and ↓4+50
Comments59

Функциональное программирование для всех

Reading time33 min
Views351K

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

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

UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Читать дальше →
Total votes 188: ↑181 and ↓7+174
Comments151
12 ...
154

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Registered
Activity