>백엔드 개발 >PHP 튜토리얼 >일부 PHP 프레임워크

일부 PHP 프레임워크

炎欲天舞
炎欲天舞원래의
2017-08-21 10:18:591417검색


PHP는 세계에서 가장 인기 있는 프로그래밍 언어 중 하나이며 주요 프로젝트에서 널리 사용됩니다. 예를 들어, Facebook은 내부 시스템을 만들고 유지하기 위해 PHP를 사용합니다. WordPress는 내부적으로 PHP를 기반으로 하며 그 대가로 웹사이트의 26% 이상에 대한 기술 지원을 제공합니다. 그리고 이제 PHP는 웹사이트(Web Technology Surveys 사이트에서 추적한 서버측 프로그래밍 언어)의 82% 이상을 지원합니다.

이 기사는 가장 인기 있는 3가지 PHP 프레임워크인 Symfony, Laravel 및 Yii를 비교하여 가장 적합한 PHP 프레임워크를 찾는 데 도움이 될 것입니다.

PHP 프레임워크를 선택하는 이유는 무엇인가요?

아래 목록은 PHP 프레임워크를 사용하여 개발할 때 얻을 수 있는 이점 중 일부입니다.

  • PHP 프레임워크를 사용하면 개발 속도가 빨라집니다. 예를 들어, 데이터베이스에서 데이터를 검색하기 위해 복잡한 쿼리 작업을 작성할 필요가 없습니다. PHP는 추가(만들기), 읽기(검색)(데이터 검색), 업데이트(업데이트) 및 삭제(삭제)에 대한 작업을 제공합니다.

  • 프레임워크를 사용하면 개발자가 시스템을 더 쉽게 확장할 수 있습니다.

  • 코드 유지 관리는 일반 PHP 애플리케이션보다 쉽습니다. 애플리케이션 코드가 더 깔끔해집니다.

  • MVC 모델은 빠른 개발을 보장합니다.

  • Framework는 일반적인 보안 위협으로부터 웹 애플리케이션을 더 효과적으로 보호합니다.

  • DRY(Don't Repeat Yourself) 원칙을 통해 최소한의 코드가 가장 큰 역할을 할 수 있습니다.

위에 나열된 혜택은 매우 중요합니다. 기본 PHP를 사용하여 모든 애플리케이션을 작성할 수 있지만 오늘날의 개발에는 시장 요구를 충족하기 위해 더 많은 도구와 시간 관리 기술이 필요합니다.

적절한 PHP 프레임워크를 선택하는 방법은 무엇입니까?

다음 질문에 답하면 적합한 프레임워크를 선택하는 데 도움이 될 수 있습니다.

  • 이 프레임워크의 특징과 기능은 무엇입니까? (나에게 필요한 것을 제공합니까?)

  • 이 프레임워크의 학습 곡선은 무엇입니까?

  • 이 프레임워크는 얼마나 확장 가능합니까?

  • 이 프레임워크가 코딩팀의 개발과 유지에 긍정적인 영향을 미치나요?

  • 이 프레임워크는 장기 지원 버전(LTS 지원)을 제공합니까?

  • 이 프레임워크는 강력한 커뮤니티 지원을 제공합니까?

Symfony, Laravel 및 Yii 개요

기술적인 세부 사항을 살펴보기 전에 세 가지에 대한 개요를 살펴보겠습니다.

Symfony

Symfony는 개발자가 고성능 애플리케이션. 선택할 수 있는 구성 요소가 30개이며 개발자는 RAD 환경에서 자유롭게 실험하거나 작업할 수 있습니다.

Drupal 및 phpBB와 같은 일부 유명한 프로젝트는 Symfony 프레임워크를 사용합니다. 실제로 또 다른 인기 있는 PHP 프레임워크인 Laravel도 Symfony를 기반으로 구축되었습니다.

Laravel

"웹 장인을 위한 PHP 프레임워크" - 가장 인기 있는 PHP 프레임워크인 Laravel은 개발자에게 뛰어난 커뮤니티 커뮤니케이션 플랫폼을 제공합니다(Laravel의 창립자 중 한 명은 Livecoding.tv의 Sfiskell입니다).

2015년 5월 Laravel에서 출시한 5.1 버전은 장기 지원 버전(2년)을 제공합니다. 버전 5.2도 2015년 12월에 시장에 출시되었습니다. Laravel 지원과 Laravel 애플리케이션 호스팅 솔루션을 제공하는 많은 호스팅 회사가 있습니다.

Yii

2008년 중국인 Xue Qiang이 만든 Yii는 안전하고 빠른 고성능 애플리케이션/웹 개발 프레임워크입니다. Yii는 PHP의 Composer 종속성 관리자를 활용하여 다양한 종속성과 설치를 처리합니다(이에 대해서는 아래에서 설명하겠습니다). 지연 로딩 기술은 Yii를 가장 빠른 PHP 프레임워크로 만듭니다.

Yii의 또 다른 멋진 기능은 jQuery 통합으로, 이를 통해 프런트 엔드 개발자는 스캐폴딩을 사용하여 코드를 생성할 수 있습니다. Symfony와 마찬가지로 Yii도 구성요소를 사용하여 애플리케이션 개발 속도를 높입니다.

Symfony, Laravel 및 Yii 비교

이 세 가지 프레임워크는 모두 Web 2.0 애플리케이션을 개발하도록 설계되었지만 초점이 다릅니다. 각각의 기능과 설치를 살펴보겠습니다.

Template Engine

템플릿 엔진은 프런트엔드 코드 작성 시 개발자의 부담을 줄이고 더 나은 기능을 제공할 수 있습니다. 템플릿 엔진은 자동 HTML 이스케이프 및 필터링과 같은 기능을 제공하고 기본 PHP가 남긴 공백을 채웁니다.

Symfony Twig 템플릿 시스템

Twig는 유연하고 빠르며 안전한 PHP 템플릿 언어입니다. Symfony의 장점은 Twig를 사용하여 개발자가 깔끔하고 깔끔한 코드를 작성할 수 있도록 하고, 기본 PHP를 사용하여 더 많은 기능을 구현할 수 있다는 것입니다. 예를 들어 다음과 같은 긴 코드는 이스케이프를 구현합니다.



<?php echo $var ?> <?php echo htmlspecialchars($var, ENT_QUOTES, &#39;UTF-8&#39;) ?>

Twig 다음 코드를 사용하여 동일한 기능을 구현할 수 있습니다.



{{ var }} {{ var|escape }} {{ var|e }} {# shortcut to escape a variable #}

你可以进入 Twig 主页来查看更多的功能。

Laravel Blade 模板系统

跟其他的模板系统不同,Blade 允许你在视图中使用 PHP 代码。而且,由于blade 视图文件存储在 .blade.php extension里面,所以 Blade 对你的应用性能损耗为 0。所有在视图文件里面的代码可以在处理过程中就转换成原生 PHP。

Yii 默认的模板系统

Yii 默认不使用任何第三方的模板系统,但这并不意味着它缺少模板系统的支持,模板系统的选择取决于开发团队,推荐 Twig 和 Smarty。Symfony 使用的是 Twig,所以如果你之前使用过 Symfony,你可能会想选择 Twig 作为你下一个 Yii 项目的选择。

很难定义那款才是最好的。这三个框架都利用了模板系统来更好地编写和维护前端。 Yii 的一个小优势是它没有一个预定义的模板系统。

框架的差异

每个框架的构建都是不同的。Symfony 致力于可重用组件,并提供最好的模块化。另外 Symfony 利用模块和控制器来开发 Web 应用,这可能会让一些刚入门的开发者望而却步。此外,Symfony 还是一个很好的模块化结构的例子,你可以以模块化的方式在你的项目里使用 symfony 提供的 30 个组件。

Yii采用 MVC 框架。(symfony 也支持 MVC 架构,更详细的讨论请看 blog.sznapka.pl 网站的 Is Symfony2 a MVC framework 

Symfony 可以用于快速开发复杂的项目。如果说哪个框架最适合复杂的项目的话,symfony 相比于其他框架具有十分优秀的复杂处理的能力 。Yii 也利用了组件,但和 symfony 的模块不一样。Laravel 虽然没有提供一个模块化的方法,但和其他两个框架一样好用。

如果你正在寻找一个模块化的框架的话就选择 symfony。否则,Laravel 和 Yii 都是不错的选择。

安装

这三个框架都提供了多个安装过程,如果您使用 Composer 来处理包,就发现其实所有框架都可以通过Composer 安装。

而对于 Symfony 来说,Composer 的作用尤为重要。因为使用 PHP 的 Composer 依赖项管理器是处理组件的好帮手。

当然也有其他的安装框架的方式,例如使用简单的归档方法来安装。

安装后,Yii 将提供一个 Web 应用程序和一个基本的模板帮助你的开发;Symfony 2 提供了一个开始演示应用程序;通过 Laravel 安装程序来安装和使用 Composer 来创建项目,使得 Laravel 也能够很容易安装使用。详细信息请查看 Laravel 安装指南。

发展

从公司或客户的角度来看,迅速将应用程序推向市场以满足消费者的需求并击败竞争对手是很重要的。 Symfony 由于其背后有强大的社区支撑而站稳脚跟; Laravel 正在快速成长,要被开发者完全认可仍有很长的路要走。另外,如果你还不知道任何 PHP 框架,希望尽快选择一款适合你的,Laravel 是个不错的选择,它有一个简单的学习曲线,并且有很多在线教程帮助你开始使用。Yii 将性能提升到一个新的水平,并提供代码基架,以便更快地生成和开发代码。

性能

任何应用程序的性能只有当它使用关键数据的实时应用程序时才有意义。有多少基于 Web 的应用程序依赖于高性能呢? 并不多,但是框架的性能在许多项目中可以发挥关键性的作用。

社交网络是实时事件的主要例子,我们的明星流媒体之一——jadson 就使用了 Yii2 建立移动社交网络。最快的 PHP 框架 Yii 毫无疑问是高性能应用程序编码框架的最佳选择。

Laravel 的性能是非常有争议的。它是最慢的,但这重要吗? 您可以找到很多用于加快性能的在线资源,包括使 Laravel 应用程序更快的 GitHub 指南。

数据库支持

Symfony 2 提供更好的数据库支持。您可以使用数据库数组,包括 NoSQL 和 DynamoDB。Yii 和 Laravel 也支持数据库,但是所支持的数据库比 Symfony 少。每个框架支持的数据库如表1所示。

表1

일부 PHP 프레임워크
社区和资源

커뮤니티의 강점은 오픈 소스 프레임워크의 수명을 예측하는 중요한 요소입니다. 이 세 가지 프레임워크에는 자체적으로 확립된 커뮤니티가 있으며 Symfony는 상대적으로 더 성숙합니다. 커뮤니티는 여전히 진화하고 있기 때문에 앞으로 어떻게 발전할지 예측하기 어렵습니다.

Laravel은 학습 자료와 문서 측면에서 최선을 다하고 있으며 Symfony와 Yii도 나쁘지 않습니다.

  • Laravel 문서

  • Symfony 문서(3.0)

  • Yii 문서 사용 가능한 확장성

프레임워크는 기능과 범위를 향상시켜 확장하거나 패키지할 수 있는 구조입니다. Laravel은 이 점에서 확실한 승자입니다. Packalyst는 9000개 이상의 패키지를 제공하는 Laravel 패키지용 디렉터리입니다. Yii와 Symfony는 각각 약 2800개의 확장과 2830개의 번들을 제공합니다. Laravel은 다른 두 프레임워크보다 확장성이 3배 더 뛰어난 최고의 프레임워크입니다.
Symfony, Laravel 및 Yii 유사점

프레임워크 간의 차이점을 살펴보았습니다. 이제 유사점을 살펴보겠습니다. 1. 세 가지 프레임워크는 모두 풀 스택 PHP 프레임워크이며 프런트엔드 코드 작성부터 백엔드 데이터 검색까지 웹 애플리케이션 생성 기능을 제공합니다.

2. 이 프로젝트는 모두 오픈 소스이며 소스 코드는 GitHub에서 찾을 수 있으며 누구나 자신의 코드를 쉽게 기여할 수 있습니다. 프레임워크는 잘 문서화되어 있으며 대규모 커뮤니티에서 지원됩니다.

4. 각각 ORM(Object Relational Mapping)을 지원합니다. ORM은 애플리케이션용 객체지향 코드(OO 코드) 작성을 매우 좋아합니다.

5. Web 2.0 애플리케이션을 만드는 것은 안전하고 안정적입니다.

아직도 선택할 수 없나요? 어쩌면 다음 목록이 선택 범위를 좁히는 데 도움이 될 수 있습니다.
  • Symfony:

  • 는 LTS 버전을 제공하고,
  • 에는 로드 기능이 있으며,

은 현재 가장 안정적인 프레임워크입니다.

은 광범위한 모듈성을 제공하는 구성 요소 기반 프레임워크입니다.

강력한 커뮤니티와 많은 학습 리소스가 있습니다.

  • Yii:

  • Ajax 지원과 함께 제공됩니다.
  • 실제 개발에 매우 ​​적합합니다. -time 애플리케이션
  • 확장성이 뛰어남
  • 정확한 오류 처리

Restful 웹 서비스 생성 전문

  • 강력한 커뮤니티와 수많은 학습 리소스 보유

  • Laravel:

  • 2015~2016년 가장 인기 있는 프레임워크
  • 패키지 관리를 위한 Composer 지원
  • 단위 테스트에 능숙함
  • 프레임워크 기능을 확장하기 위해 다수의 소프트웨어 패키지 제공

강력함 커뮤니티 및 다양한 학습 리소스

  • 결론:

  • Symfony, Laravel 및 Yii의 세 가지 PHP 프레임워크는 모두 개발자에게 풀 스택 개발 환경을 제공하기 위한 탁월한 옵션입니다. 나는 Laravel이 가장 큰 승자이며 여전히 강세를 보이고 있다고 생각합니다.

  • 그러나 Symfony와 Yii는 모두 훌륭한 프레임워크입니다. Symfony는 더욱 성숙해졌으며 더 크고 성숙한 커뮤니티를 보유하고 있습니다. Yii는 작업을 강력하고 안전하게 완료하는 고유한 프레임워크입니다.
  • 기타 리소스
  • Symfony2와 Yii2: 어떤 개발 프레임워크를 선택해야 할까요?

10 개발자를 위한 PHP 프레임워크


엔터프라이즈 개발을 위한 Laravel 5.1

위 내용은 일부 PHP 프레임워크의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.