Symfony 框架优势
Symfony可谓是PHP的行业标准,laravel本身很多部分都是基于或来自Symfony,那么这个专场里,Symfony的作者在laravel的国际会议上,一起给大家讲解symfony的由来,它到底标准化了哪些方面、哪些做法?
什么是symfony?
symfony 是 法国常用PHP框架
symfony 2是一系列超过25个PHP组件的组合,每一个组件都解决一个常见的开发问题,都尽量独立地解决其对应问题,不依赖其它的,这样你就可以只安装一个组件,而不用安装其它的。每个组件都尽量提供你需要的所有功能,尽量足够复杂、能够扩展,这样你需要的时候可以自行添加逻辑。这些组件从设计模式、不同语言中吸收思路、理念和最佳实践,比如Perl、python、ruby,甚至java,同时也借鉴别的框架,比如django和spring。
symfony项目,同时也包括同名的全栈框架symfony,这个全栈symfony框架是基于那些组件的,有点像是laravel,laravel可以看作是基于symfony组件之上的,又一个框架实现。
symfony的先进之处举例
symfony作为PHP的业界标准和老大哥,一直在PHP世界里引领创新。十几年前,symfony是第一个倡议开发工具栏的,就像我们laravel常用的那个debugger-bar,如果你看看现在,所有的主流框架,不管是python、ruby还是PHP的,它们也都有类似工具了。
symfony 2以上,还更进了一步,自带性能侧写工具,比如可以看到在处理请求的不同部分,分别花费了多少时间,这个我们laravel到现在还没有呢。
大名鼎鼎的Twig也是symfony的,它是历史上第一个真正的PHP模板引擎,现在drupal、magento 2都在用twig。
再一个例子,十年前,当时很多人还排斥在PHP项目里使用容器的理念,当时在Zend美国会议上就有一个Zend的核心开发人员,明确说Zend框架里绝不会用依赖注入容器,但后来看了symfony 2的容器后,也就是他在zend 2里也实现了容器。symfony 2是第一个使用依赖注入容器的项目,现在就没人会跟你争论,使用依赖注入是有用的,这么个事实了,以及在大的项目使用容器是很好的这个事实。laravel也在用依赖注入容器,是一个基于Pimple的容器,Pimple是symfony作者、也即本次主讲创建的一个很小的容器,当时主要是让PHP开发者们敢于尝试容器的,但我们用过laravel的都知道,这个容器真是给我们带来了无穷的便利。
如何学习symfony,有什么好处?
symfony并不是个黑盒子,它只是一些原生PHP代码,你可以读懂的,每个人都能懂得。但更重要的是,symfony是在实现诸多最佳实践,以及设计模式,这些好东西。学习symfony,就更像是学习那些最佳实践,而不是去太关注symfony代码的具体实现。当阅读symfony代码时,你能学到的大部分东西,都不会只限于symfony自身的,意味着,如果你已经足够了解http协议,或者依赖注入原理,你就能够快速地学好symfony。如果你不懂那些,好消息是你可以用上你在其它技术或语言里学到的那些。
当然了,这里只是说了些symfony的好处,关于更具体的,比如symfony的组件都怎么用,laravel里如何使用的某些symfony组件,这些涉及到代码细节的,就自行观看专场学习吧。
Symfony 框架优势相关推荐
- Symfony4中文文档: 安装和设置Symfony框架
安装和设置Symfony框架 要创建新的Symfony应用程序, 首先确保使用的是PHP7.1 或更高版本并且已经安装Componser. 如果未安装, 请首先在系统上全局安装Componser. 如 ...
- symfony php 更新内容,Symfony框架中的Doctrine
在新的标准版本的Symfony框架中已经集成了Doctrine,Doctrine就是一种对象关系映射(ORM)同时也是一种数据库抽象层(DBAL),使用ORM和DBAL能让我们很轻易的操作数据库.本文 ...
- php symfony 安装,Symfony4中文文档: 安装和设置Symfony框架
安装和设置Symfony框架 要创建新的Symfony应用程序, 首先确保使用的是PHP7.1 或更高版本并且已经安装Componser. 如果未安装, 请首先在系统上全局安装Componser. 如 ...
- Symfony 框架实战教程——第一天:创建项目(转)
这个系列的实战博客真是太有用了,很多例子自己调试也是通的,不同于很多网上不同的实战例子...附上原文地址 https://www.chrisyue.com/symfony-in-action-day ...
- symfony框架_为什么我们放弃传统的Symfony框架
symfony框架 一个成功的组织为什么要抛弃一个拥有活跃的开发人员社区的优秀开源Web开发平台? 这就是我要讲的故事. 如果您不熟悉eZ Systems的名称,请允许我们自我介绍:eZ是商业开源软件 ...
- symfony入门学习资料之十六:Symfony框架启动过程介绍
symfony入门学习资料之十六:Symfony框架启动过程介绍 Symfony框架的核心本质是把Request转换成Response的一个过程.从入口文件(web_dev.php)的源码可以看个大概 ...
- php框架symfony,Symfony框架配置
Symfony框架 是业界领先的企业级PHP框架,由Symfony组件构成.用于构建网站和开发互联网产品. Symfony配置 使用Symfony Installer来创建全新Symfony项目是唯一 ...
- php symfony 安装,安装和设置Symfony框架
欢迎来到Symfony!开始一个全新的Symfony项目是容易的,你的第一个可正常运作的Symfony程序能在几分钟之内配置完成. 为了让创建新程序更加简单,Symfony提供了一个安装器,下载它就是 ...
- Symfony框架如何使用的笔记(symfony4.2)
之前用过symfony2.8系列的版本开发过在线教育的购课网站,所以对这个框架不是太陌生.已经有半年没用过了,今天把最新版4.2的使用笔记记录下来,方便自己和他人对symfony有更深的理解.(未完) ...
最新文章
- 技术图文:如何利用C# + Echarts 绘制 Bar Simple?
- C语言与汇编语言相互调用原理以及实例
- Arm开发板+Qt学习之路-析构函数和对话框一起时
- VS编译器安装Eigen
- spring cloud zuul 原理简介和使用
- 我的docker随笔2:docker在ubuntu上的安装
- [转载] 把数据对象转成字符串_python入门基础培训教程,Python 字符串学习
- 为什么在idea没有preview_设计学研究的idea从哪里来?
- 所有类型的基类Object,所有类型的基类Type
- python植物大战僵尸代码
- TOOLFK在线工具-在线文字转语音/语音合成mp3工具
- 计算机专业电脑内存,电脑内存大小是否和速度有关?
- android 画尖角气泡,Android 实现气泡布局/弹窗,可控制气泡尖角方向及偏移量
- 中南大学研究生复试机试题
- 深大计算机图形学大作业之虚拟场景建模
- 安装CentOS7时选择install后直接黑屏的解决办法
- 最小二乘、加权最小二乘 matlab实现
- SQLserver的安装,sa账户的登陆,数据库的建立、表的建立及增删改
- android特效拍照,创意随我 Android手机特效拍照软件评
- Vue + Matomo 实现访问流量统计