PHP-фреймворки
Для того чтобы лучше понять, что такое фреймворк, давайте на время уйдем из мира информатики и представим себе альпинистское приключение. Разработка приложения очень похожа на восхождение по скале: вы находитесь внизу (у вас есть приложение, которое нужно создать), и вам нужно добраться до вершины (и порадоваться тому, что вы создали приложение, которое отлично работает).
Если на стену никто не лазил, то придется обходиться своими силами: тестировать маршруты, периодически возвращаться назад, чтобы не застрять на повороте, вбивать питоны и т.д. Если же стена уже покорена, то те, кто лез до вас, уже проделали эту работу методом проб и ошибок, открыв возможные пути (каркас) и установив инструменты, облегчающие восхождение (ваша работа).
В основном фреймворк состоит из:
- Инструментарий - набор готовых, быстро интегрируемых программных компонентов. Это означает, что вам придется писать меньше кода, что снижает риск ошибок. Это также означает повышение производительности и возможность уделять больше времени тем вещам, которые обеспечивают большую добавленную стоимость, например, управлению руководящими принципами, побочными эффектами и т.д.
- Методология - это "схема сборки" приложений. Структурированный подход поначалу может показаться ограничивающим. Но на самом деле он позволяет разработчикам эффективно и качественно работать над наиболее сложными аспектами задачи, а использование лучших практик гарантирует стабильность, сопровождаемость и возможность обновления разрабатываемых приложений. И хотя это может быть очевидно, мы сочли нужным все же сказать об этом - Symfony является PHP-фреймворком, а значит, позволяет создавать веб-приложения на PHP!
Философия
Что может быть полезнее приложения, разработанного пользователями для своих нужд? Такова история генезиса Symfony, родившегося из воображения веб-дизайнеров компании SensioLabs, которая сама является веб-разработчиком. Symfony стала доступна всем желающим по лицензии Open Source. Это выгодно другим разработчикам, которые также имеют возможность совершенствовать ее, добавляя свои модули. Все это было сделано в условиях внедрения лучших практик, стандартизации и совместимости приложений.