Silex

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Silex는 심포니 프레임워크 개발자 Fabien Potencier와 Igor Wiedler가 개발한 PHP 마이크로 프레임워크이다. 2010년 9월에 처음 출시되었으며, 다양한 기능을 서비스 프로바이더 형태로 제공한다. Composer를 사용하여 패키지 의존성을 관리하며, 벤치마크에서 빠른 성능을 보여준다.

Silex - [IT 관련 정보]에 관한 문서
기본 정보
이름Silex
개발자Silex 기여자들, SensioLabs
출시일2010년 9월 16일
최신 버전2.1.0
최신 버전 출시일2017년 5월 3일
지원 중단일2018년 7월 3일
운영 체제크로스 플랫폼
프로그래밍 언어PHP
상태버그 및 보안 문제만을 위해 유지보수 중
종류웹 프레임워크
라이선스MIT 허가서
공식 웹사이트Silex 공식 웹사이트
📚 더 읽어볼만한 페이지
  • PHP 프레임워크 - 드루팔
    드루팔은 드리스 바이테르트가 개발하여 2001년 공개된 PHP 기반의 오픈 소스 콘텐츠 관리 시스템으로, 모듈과 테마를 통해 기능 확장이 가능하며 다양한 기관에서 활용되고 활발한 커뮤니티를 가지고 있다.
  • PHP 프레임워크 - 실버스트라이프 CMS
    실버스트라이프 CMS는 PHP로 제작된 오픈 소스 콘텐츠 관리 시스템으로, 웹사이트 및 웹 애플리케이션을 개발하고 관리하는 데 사용되며, MVC 패턴과 Sapphire ORM 프레임워크를 활용하여 사용자 친화적이고 확장 가능한 플랫폼을 제공한다.
  • MIT 라이선스 소프트웨어 - MS-DOS
    MS-DOS는 마이크로소프트가 개발한 개인용 컴퓨터용 디스크 운영 체제로, IBM PC의 표준 운영 체제로 널리 사용되었으며, 단일 작업 환경과 명령줄 인터페이스를 특징으로 한다.
  • MIT 라이선스 소프트웨어 - Zcash
    Zcash는 존스 홉킨스 대학교 연구를 기반으로 개발된 익명성 강화 암호화폐로, zk-SNARK 영지식 증명을 통해 거래 당사자의 익명성을 보장하지만, 범죄 악용 우려와 규제 대상 가능성이 존재한다.
  • 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 브루클린 미술관
    브루클린 미술관은 1823년 브루클린 견습생 도서관으로 시작하여 현재 약 50만 점의 소장품을 보유한 뉴욕 브루클린 소재의 미술관으로, 다양한 분야의 예술 작품을 전시하며 특히 아프리카 미술과 여성주의 미술에 대한 기여가 크다.
  • 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 광주지방기상청
    광주지방기상청은 광주광역시와 전라남도 지역의 기상 예보, 특보, 관측, 기후 정보 제공 등의 업무를 수행하는 기상청 소속 기관으로, 1949년 광주측후소로 설치되어 1992년 광주지방기상청으로 개편되었으며, 기획운영과, 예보과, 관측과, 기후서비스과와 전주기상지청, 목포기상대를 두고 있다.

2. 역사

Silex는 심포니 프레임워크의 개발자 파비앙 포텐시에 그리고 Igor Wiedler에 의해 개발되었다. '웹 프레임워크 PoC'(Proof of Concept) 성격으로 2010년 9월 16일 처음 출시되었다.

Silex는 현재 가장 잘 알려진 PHP 마이크로 프레임워크 가운데 하나로서 대체적으로 마이크로 프레임워크 비교를 위한 벤치마크에서 가장 빠른 것들 가운데 하나로 평가받는다.

3. 특징

Silex는 다양한 기능을 서비스 프로바이더(Service Provider) 형태로 제공한다. 예를 들어, 데이터베이스 접근 연결을 위한 Doctrine DBAL의 `DoctrineServiceProvider`, Twig 템플릿 엔진을 사용하기 위한 `TwigServiceProvider`, PSR-3 표준을 준수하는 로그 출력 도구인 monolog을 이용하기 위한 `MonologServiceProvider` 등이 대표적이다. 이러한 기능들을 실제로 이용할 때는 필요한 기능에 대해 Composer를 사용하여 패키지 의존성 문제를 해결한다. Composer는 필요한 패키지를 설치하고 오토로딩(autoloading)을 자동으로 수행하는 역할을 한다.

4. 예제

다음 코드는 Hello World!를 출력하는 간단한 웹 애플리케이션 예시이다.


require_once __DIR__ . '/../vendor/autoload.php';

$app = new Silex\Application();

$app->get('/', function() use($app) {
return 'Hello World!';
});

$app->run();


위 예시에서 `$app` 객체는 DI 컨테이너 역할을 수행한다.