자바스크립트를 허용해주세요.
[ 자바스크립트 활성화 방법 ]
from Mohon Aktifkan Javascript!
 

[Symfony] 1장 Symfony 란 무엇인가

728x90

🛜 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

 

728x90
LIST