Symfony 2와 Symfony 1은 완전히 다른 프레임워크이므로 이해할 때 다르게 취급해야 합니다. Symfony 2는 현재 Symfony 커뮤니티 개발의 초점입니다. 프레임워크를 평가하려면 프레임워크의 현재 상황과 개발 목표 및 전망을 살펴봐야 합니다. Symfony 2는 유연성(확장성), 기능적 완성도 및 성능에 중점을 둡니다.
Symfony 2는 학습 비용이 높습니다. 실제 개발 경험이 없거나 소프트웨어 엔지니어링 개념에 익숙하지 않은 학습자에게는 학습 과정이 고통스럽다고 할 수 있습니다. 그러나 경험이 있거나 Ruby on Rails, Django 및 Java의 일부 무거운 프레임워크를 이미 알고 있는 개발자의 경우 학습 비용이 높지 않으며 실제로 경량 프레임워크가 필요한 경우 Silex는 Symfony 2의 단순화된 버전입니다. 대부분의 PHP 프레임워크보다 간단한 애플리케이션을 개발합니다.
개발 효율성은 개인 습관에 달려 있습니다. 장비는 창을 가지고 놀고, 관우는 칼을 가지고 놀 수 있습니다. 어떤 프레임워크를 선택하든 상관없습니다. 반면 Symfony 2의 개발 커뮤니티는 매우 활발하여 GitHub의 PHP 카테고리에서 1위를 차지했습니다. 이는 필요한 기능이 아마도 다른 개발자에 의해 구현되었음을 의미합니다.
성능 문제는 웹 애플리케이션 배포와 별도로 논의해서는 안 됩니다. 작은 가상 호스트를 사용하면 Symfony 2의 운영 효율성이 확실히 낮아질 것입니다. 그러나 기술 아키텍처를 강조하는 상용 애플리케이션을 개발하는 경우 Symfony 2는 운영의 모든 측면에서 성능 최적화를 지원하고 Symfony 2는 DailyMotion 및 Youporn과 같은 대규모 웹 사이트를 지원합니다.
Symfony 2는 확장성이 뛰어나고 프레임워크의 핵심 구성 요소를 교체할 수 있으며 각 구성 요소를 독립적으로 사용할 수도 있습니다. Drupal, phpBB 및 EzPublish와 같은 잘 알려진 PHP 오픈 소스 프로젝트는 모두 다음 버전에서 Symfony 2의 핵심 구성 요소를 사용하거나 Symfony 2를 기반으로 완전히 리팩터링됩니다.
그렇습니다. SF는 실제로 대부분의 프레임워크보다 더 강력합니다. 기본 mvc 모드를 제공하는 것 외에도 웹 개발에서 거의 접하게 되는 개발, 테스트, 보안, 템플릿 개발, 유지 관리 가능성 등을 다루는 많은 도구도 제공합니다. .모든 측면. 그러나 기능 측면에서는 SF만이 유일한 것은 아닙니다. 예를 들어 zendframework는 Zend_Service_Amazon, Zend_Pdf 등과 같이 SF에 없는 많은 구성 요소도 제공합니다.
현재 Symfony2는 유연성과 구성 요소에 더 중점을 두고 있습니다. 저는 이 방향에 대해 매우 낙관적이며 동의합니다. Symfony/Components를 사용하여 프레임워크를 직접 설계하고 생성할 수도 있습니다. @SS 동급생들이 이미 이에 대해 언급했습니다. 많은 오픈 소스 프로젝트에서도 SF 구성 요소를 사용하기 시작했습니다. 더 이상 말을 낭비하지 않겠습니다. 관심이 있으시면 "Symfony 구성 요소를 사용하여 자신만의 프레임워크 만들기" 튜토리얼을 읽어 보세요. SF 프로젝트의 창시자인 Fabien Potencier의 글입니다: http://fabien.potencier.org/article/5..., 영어 읽기가 어려우시면 제가 번역한 중국어 버전도 확인하실 수 있습니다: http:// chrisyue.com/posts/272.%E4%BD .. 그가 쓴 기사는 매우 읽기 쉽고 Symfony 구성요소의 본질을 단계별로 이해할 수 있게 해줍니다.
Symfony2는 유지 관리 가능성과 유연성을 달성하기 위해 많은 객체 지향 지식과 기술을 사용합니다. 이는 또한 Symfony의 디자인을 더 복잡하고 이해하기 어렵게 만듭니다(구성 요소화 또는 객체 지향에 익숙하지 않은 경우). 요청을 실행하려면 많은 코드가 필요하므로 프레임워크를 직접 실행하는 것이 상대적으로 비효율적입니다. 많은 벤치마크 결과에서 Symfony2의 점수는 우수하지 않지만 Symfony2에는 시간을 투자할 가치가 있는 최적화 방법이 많이 있습니다. . 이해했다. 예를 들어 Symfony2의 라우팅 구성 요소는 덤프 방법을 사용하여 Apache 재작성 규칙을 생성하여 URL 구문 분석에 더 뛰어난 Apache가 라우팅 작업을 수행하도록 허용하여 라우팅 쿼리 시간을 크게 단축할 수 있습니다. 또한 Symfony2의 문서에서는 http에 대한 지식과 Varnish와 같은 역방향 프록시 서버와 같은 http 프로토콜을 지원하는 일부 최적화 소프트웨어를 사용하여 일부 최적화 작업을 수행할 수 있다고 주장합니다. 전체 애플리케이션을 직접 우회할 수도 있으므로 http에 대한 지식도 매우 필요합니다.
간단히 말하면 SF는 훌륭한 프레임워크이지만, 잘 익히고 싶다면 많은 시간을 들여 공부할 준비가 되어 있어야 합니다. 학습 비용도 매우 중요한 요소입니다.
또한 서비스 컨테이너 등 SF의 일부 구성 요소를 PHP로 확장하려는 아이디어가 있습니다. 관심 있는 학생들은 저에게 연락주시면 함께 공부하겠습니다.
Symfony의 기능은 비교적 완벽하지만 기능성, 개발 효율성, 성능 지표를 고려하면 눈에 띄지 않습니다.
내 생각에 Symfony는 다른 프레임워크나 Java와 같은 객체 지향에 더 가깝다고 생각합니다.
프레임워크를 선택하는 경우 필요에 따라 더 가벼운 프레임워크를 선택하는 것이 좋습니다.
저는 Symfony2만 사용해왔고, yii(http://www.yiiframework.com/), ci(http://codeigniter.com/)를 포함한 다른 제품들도 간략하게 살펴봤습니다.
Symfony2는 기본적으로 ORM(toctrine), 뷰 템플릿(twig), 컨트롤러 메커니즘 등을 내장하고 있습니다.
확장도 상당히 편리합니다.
내 전반적인 느낌:
1. 완벽한 기능
2. 구하기 쉽다
3. 아름다운 시스템
4. 문서가 매우 완벽합니다
유일한 단점은 커뮤니티가 아직 그렇게 크지 않다는 것입니다.
yii나 ci에 비하면 저라면 그래도 Symfony를 선택할 것 같아요.
zynga가 심포니를 사용하는 것 같나요?
Symfony 2와 Symfony 1은 완전히 다른 프레임워크이므로 이해할 때 다르게 취급해야 합니다. Symfony 2는 현재 Symfony 커뮤니티 개발의 초점입니다. 프레임워크를 평가하려면 프레임워크의 현재 상황과 개발 목표 및 전망을 살펴봐야 합니다. Symfony 2는 유연성(확장성), 기능적 완성도 및 성능에 중점을 둡니다.
Symfony 2는 학습 비용이 높습니다. 실제 개발 경험이 없거나 소프트웨어 엔지니어링 개념에 익숙하지 않은 학습자에게는 학습 과정이 고통스럽다고 할 수 있습니다. 그러나 경험이 있거나 Ruby on Rails, Django 및 Java의 일부 무거운 프레임워크를 이미 알고 있는 개발자의 경우 학습 비용이 높지 않으며 실제로 경량 프레임워크가 필요한 경우 Silex는 Symfony 2의 단순화된 버전입니다. 대부분의 PHP 프레임워크보다 간단한 애플리케이션을 개발합니다.
개발 효율성은 개인 습관에 달려 있습니다. 장비는 창을 가지고 놀고, 관우는 칼을 가지고 놀 수 있습니다. 어떤 프레임워크를 선택하든 상관없습니다. 반면 Symfony 2의 개발 커뮤니티는 매우 활발하여 GitHub의 PHP 카테고리에서 1위를 차지했습니다. 이는 필요한 기능이 아마도 다른 개발자에 의해 구현되었음을 의미합니다.
성능 문제는 웹 애플리케이션 배포와 별도로 논의해서는 안 됩니다. 작은 가상 호스트를 사용하면 Symfony 2의 운영 효율성이 확실히 낮아질 것입니다. 그러나 기술 아키텍처를 강조하는 상용 애플리케이션을 개발하는 경우 Symfony 2는 운영의 모든 측면에서 성능 최적화를 지원하고 Symfony 2는 DailyMotion 및 Youporn과 같은 대규모 웹 사이트를 지원합니다.
Symfony 2는 확장성이 뛰어나고 프레임워크의 핵심 구성 요소를 교체할 수 있으며 각 구성 요소를 독립적으로 사용할 수도 있습니다. Drupal, phpBB 및 EzPublish와 같은 잘 알려진 PHP 오픈 소스 프로젝트는 모두 다음 버전에서 Symfony 2의 핵심 구성 요소를 사용하거나 Symfony 2를 기반으로 완전히 리팩터링됩니다.
그렇습니다. SF는 실제로 대부분의 프레임워크보다 더 강력합니다. 기본 mvc 모드를 제공하는 것 외에도 웹 개발에서 거의 접하게 되는 개발, 테스트, 보안, 템플릿 개발, 유지 관리 가능성 등을 다루는 많은 도구도 제공합니다. .모든 측면. 그러나 기능 측면에서는 SF만이 유일한 것은 아닙니다. 예를 들어 zendframework는 Zend_Service_Amazon, Zend_Pdf 등과 같이 SF에 없는 많은 구성 요소도 제공합니다.
현재 Symfony2는 유연성과 구성 요소에 더 중점을 두고 있습니다. 저는 이 방향에 대해 매우 낙관적이며 동의합니다. Symfony/Components를 사용하여 프레임워크를 직접 설계하고 생성할 수도 있습니다. @SS 동급생들이 이미 이에 대해 언급했습니다. 많은 오픈 소스 프로젝트에서도 SF 구성 요소를 사용하기 시작했습니다. 더 이상 말을 낭비하지 않겠습니다. 관심이 있으시면 "Symfony 구성 요소를 사용하여 자신만의 프레임워크 만들기" 튜토리얼을 읽어 보세요. SF 프로젝트의 창시자인 Fabien Potencier의 글입니다: http://fabien.potencier.org/article/5..., 영어 읽기가 어려우시면 제가 번역한 중국어 버전도 확인하실 수 있습니다: http:// chrisyue.com/posts/272.%E4%BD .. 그가 쓴 기사는 매우 읽기 쉽고 Symfony 구성요소의 본질을 단계별로 이해할 수 있게 해줍니다.
Symfony2는 유지 관리 가능성과 유연성을 달성하기 위해 많은 객체 지향 지식과 기술을 사용합니다. 이는 또한 Symfony의 디자인을 더 복잡하고 이해하기 어렵게 만듭니다(구성 요소화 또는 객체 지향에 익숙하지 않은 경우). 요청을 실행하려면 많은 코드가 필요하므로 프레임워크를 직접 실행하는 것이 상대적으로 비효율적입니다. 많은 벤치마크 결과에서 Symfony2의 점수는 우수하지 않지만 Symfony2에는 시간을 투자할 가치가 있는 최적화 방법이 많이 있습니다. . 이해했다. 예를 들어 Symfony2의 라우팅 구성 요소는 덤프 방법을 사용하여 Apache 재작성 규칙을 생성하여 URL 구문 분석에 더 뛰어난 Apache가 라우팅 작업을 수행하도록 허용하여 라우팅 쿼리 시간을 크게 단축할 수 있습니다. 또한 Symfony2의 문서에서는 http에 대한 지식과 Varnish와 같은 역방향 프록시 서버와 같은 http 프로토콜을 지원하는 일부 최적화 소프트웨어를 사용하여 일부 최적화 작업을 수행할 수 있다고 주장합니다. 전체 애플리케이션을 직접 우회할 수도 있으므로 http에 대한 지식도 매우 필요합니다.
간단히 말하면 SF는 훌륭한 프레임워크이지만, 잘 익히고 싶다면 많은 시간을 들여 공부할 준비가 되어 있어야 합니다. 학습 비용도 매우 중요한 요소입니다.
또한 서비스 컨테이너 등 SF의 일부 구성 요소를 PHP로 확장하려는 아이디어가 있습니다. 관심 있는 학생들은 저에게 연락주시면 함께 공부하겠습니다.
Symfony의 기능은 비교적 완벽하지만 기능성, 개발 효율성, 성능 지표를 고려하면 눈에 띄지 않습니다.
내 생각에 Symfony는 다른 프레임워크나 Java와 같은 객체 지향에 더 가깝다고 생각합니다.
프레임워크를 선택하는 경우 필요에 따라 더 가벼운 프레임워크를 선택하는 것이 좋습니다.
저는 Symfony2만 사용해왔고, yii(http://www.yiiframework.com/), ci(http://codeigniter.com/)를 포함한 다른 제품들도 간략하게 살펴봤습니다.
Symfony2는 기본적으로 ORM(toctrine), 뷰 템플릿(twig), 컨트롤러 메커니즘 등을 내장하고 있습니다.
확장도 상당히 편리합니다.
내 전반적인 느낌:
1. 완벽한 기능
2. 구하기 쉽다
3. 아름다운 시스템
4. 문서가 매우 완벽합니다
유일한 단점은 커뮤니티가 아직 그렇게 크지 않다는 것입니다.
yii나 ci에 비하면 저라면 그래도 Symfony를 선택할 것 같아요.
zynga가 심포니를 사용하는 것 같나요?