🛜 1. Symfony(심포니)란?
동적인 웹 페이지를 만들기 위해 개발한 PHP를 공부하며 그 안에 다양한 프레임워크(Laravel, Composer 등)들을 보고 느끼게 됩니다. 그중에서 Symfony(심포니)는 단순히 웹 프레임워크를 구현하는 것을 넘머, PHP 생태계 전체에 큰 영향을 끼치 대표적인 프레임워크라고 해도 과언이 아닐 정도로 사람들이 Laravel(라라벨)에 대중화 되어 있고 사실상
Laravel(라라벨) 자체에도 Symfony 의 여러 컴포넌트를 거쳐 만들 프레임워크입니다. 그래서 Symfony를 이해하면 사실상 PHP 기반 개발에서는 한 단계 더 깊은 수준으로 올라갈 수 있습니다.
🛜 2. Symfony의 특징
💠 1.MVC 아키텍처 기반
- Modal, View Controller로 코드를 구조화해 유지보수와 확장이 쉬움
💠 2.강력한 컴포넌트 제공
- 라우팅, 보안, 템플릿, DB 처리 같은 기능들이 독립적인 모듈로 제공
- 이 컴포넌트들은 각기 다른 프레임워크(Laravel, Drupal 등)에서도 쓰이고 있음
💠 3. 대규모 프로젝트에 적합
- 작은 개인 프로젝트보다는 기업 서비스나 대규모 웹 서비스에 최적화
💠 4. 보안 기능 내장
- 로그인, 권한 관리, CSRF/XSS 방어 같은 기능을 기본적으로 제공
💠 5. Twig 템플릿 엔진
- HTML과 PHP 로직을 깔끔하게 분리할 수 있는 템플릿 엔진이 Twig 템플릿 엔진
🛜 3 .Symfony의 장단점
📚 장점
- 대규모 서비스에 강함: 강력한 유지보수와 확장이 쉬우며 안정적
- 재사용성: 컴포넌트 단위라 필요할 때만 가져다 사용 가능
- 풍부한 문서와 커뮤니티: PHP로 동작하는 라이브러리라 그만큼 자료가 풍부함
- 표준화된 코드: PHP-FIG 표준을 따르므로 다른 PHP와 호환성이 높음
📚 단점
- 학습 난이도 부분: 라라벨보다 더 배우기 어려울 수 있음
- 빠르게 학습해 개발하기에는 부적합: 프로토타입을 만들 때는 오히려 무거움
- 가벼운 프로젝트에는 오버스펙: 단순 홈페이지 개발에 사용하기에는 필요 이상으로 복잡하게 구성되어 있음
🛜 4. Symfony 설치하기 (기본 세팅)
Symfony는 PHP 패키지 관리자 Composer와 Symfony CLI를 활용해 설치합니다.
Composer
A Dependency Manager for PHP Latest: 2.8.11 (changelog) Getting Started Download Documentation Browse Packages Issues GitHub
getcomposer.org
💠 1. Composer 설치확인
sudo apt update
sudo apt upgrade
composer -v
💠 2. Symfony CLI 설치 (리눅스 기준임)
wget https://get.symfony.com/cli/installer -O - | bash
💠 3. APT 저장소 추가
curl -sS https://get.symfony.com/cli/installer | bash
sudo mv ~/.symfony*/bin/symfony /usr/local/bin/symfony
💠 4. 새 프로젝트 생성
symfony new 프로젝트명 --webapp
💠 5. 서버 실행하기
cd 프로젝트명
symfony serve
GitHub - Koras02/symfony-bloging
Contribute to Koras02/symfony-bloging development by creating an account on GitHub.
github.com
'Back-End > PHP' 카테고리의 다른 글
[PHP] 12장(완). PHP 프레임워크 활용하기 (0) | 2025.03.12 |
---|---|
[PHP] 11장. PHP 보안 고려하기 (0) | 2025.02.28 |
[PHP] 10장. PHP 예외처리, 에러메시지 출력 설정 (0) | 2025.02.28 |
[PHP] 9장. MySQL과 PD0를 사용한 데이터베이스 연결 (0) | 2025.02.27 |
[PHP] 8장 세션과 쿠키 (0) | 2025.02.26 |