← Назад к вопросам

Готов ли работать без фреймворка?

1.3 Junior🔥 171 комментариев
#Опыт и карьера#Фреймворки

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Готовность работать без фреймворка

Да, я полностью готов и уже работал на проектах без использования фреймворков. Более того, я считаю это важным навыком для каждого серьёзного backend разработчика.

Опыт работы без фреймворка

Микросервисы: Создавал микросервисы с использованием только Slim Framework или даже чистого PHP с Guzzle и PDO. Это требует глубокого понимания HTTP, сессий, безопасности.

API: Писал REST API с нуля, используя только встроенные PHP функции и сторонние библиотеки. Пришлось реализовать роутинг, обработку ошибок, валидацию вручную.

Legacy код: Работал с legacy системами, где фреймворк был нежелателен или несовместим. Нужно было понимать как всё работает под капотом.

Почему это важно

  1. Понимание фундаментальных концепций — когда нет фреймворка, ты должен понимать:

    • Как работает HTTP протокол
    • Жизненный цикл запроса-ответа
    • Сессии и cookies
    • Аутентификация и авторизация
    • Обработка ошибок
    • Роутинг запросов
  2. Гибкость — без фреймворка ты можешь:

    • Выбрать оптимальную архитектуру для конкретной задачи
    • Избежать overhead фреймворка
    • Создавать специализированные решения
    • Быстрее разворачивать простые приложения
  3. Производительность — простое приложение работает быстрее без фреймворка

  4. Проблемы в фреймворке — если что-то сломалось, нужно разбираться как это работает внутри

Пример простого API без фреймворка

// api.php
header("Content-Type: application/json");

$method = $_SERVER["REQUEST_METHOD"];
$path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);

switch ($method) {
    case "GET":
        if (preg_match("/\/users\/(\d+)/", $path, $matches)) {
            $id = $matches[1];
            $user = getUserFromDB($id);
            echo json_encode($user);
        }
        break;
    case "POST":
        $data = json_decode(file_get_contents("php://input"), true);
        $userId = createUserInDB($data);
        http_response_code(201);
        echo json_encode(["id" => $userId]);
        break;
}

Что я могу сделать без фреймворка

  • Чистый PHP с базовыми функциями
  • PDO для работы с БД
  • Внешние библиотеки (Guzzle, Carbon, PHPMailer)
  • Правильная архитектура (классы, интерфейсы, SOLID)
  • Юнит-тесты с PHPUnit
  • REST API
  • Аутентификация (JWT, OAuth2)
  • Кэширование и очереди

Когда выбрать no-framework

Подходит для:

  • Простых скриптов
  • Микросервисов
  • API с минимальной логикой
  • Когда нужна максимальная производительность
  • CLI команд и работников
  • Прототипирования

Не подходит для:

  • Больших приложений
  • Команды разработчиков (нет единого стиля)
  • Когда нужно быстро разработать
  • Сложной бизнес-логики

Заключение

Фреймворк — это инструмент, а не костыль. Я всегда выбираю инструмент в зависимости от задачи:

  • Laravel для полнофункциональных приложений
  • Slim для микросервисов
  • Чистый PHP для простых скриптов

Но главное — понимать, как всё работает внутри. Знание фундаментальных концепций позволяет быть хорошим разработчиком в любой ситуации.