类型:编程其它大小:7.90 MB
语言:简体中文 日期:2024-02-18
Symfony是一个基于MVC模式的面向对象的PHP5框架,它可以帮助你将web应用程序的业务逻辑、服务器端逻辑和页面显示分开。它也包含了许多的工具和类,这些工具和类可以帮助你缩短开发复杂web应用程序的时间。
Symfony是国外最流行的PHP开发框架,近年来Symfony正以迅雷不及掩耳之势迅速占据国内PHP开发框架的市场份额,鉴于symfony2高度重视业务逻辑、代码易读、维护轻松,能大大提升团队的开发效率,提高代码性能,现在Symfony2框架已成为大型互联网公司的首选框架。
路由
能限制hostname,这就让有大量公共功能的网站可以共用一套代码。URI 识别支持 Reg 检测,让 url 能定义的随心所欲。支持前缀,import,便于模块化。
Twig模板
这是我最喜欢的一个组件。它提供了一套不同于 php,但非常适合处理复杂网站结构,页面结构的语法。extension 很方便也很强大,通用的操作通过 extension 能很好的表达,比如需要缓存页面的某个模块到 redis ,写一个 ViewExtension,就能在模板里面用一个方法来缓存特定模块了,非常方便,代码也很容易管理。
composer包管理
让代码的依赖关系变得很清晰。而且现在第三方有很多不错的 bundle,比如抽象 redis 的 snc/redis-bundle,处理图片的 liip/imagine-bundle,第三方登录的 hwi/oauth-bundle 等等等等。随着自己项目的逐渐成熟,也可以把项目对 Symfony 的定制独立出来用 composer 来管理,感觉挺不错的。
Event、Listener和Services
非常方便的全局功能处理。惹人讨厌的是配置起来很麻烦,我用的是 yml 配置文件,为了找对路的语法真是掉了一层皮。
Doctrine ORM
一个好处是不用去纠结于数据库的细节,而只需仔细的设计需要持久化的对象。对象之间的关系可以自由设计,从生成数据库结构到生成查询语句的过程都不用再操心了。另一个好处是查询的时候,可以不用 sql,dql 这种依赖字符串来表达的查询,而采用对象式,sql 因为是单纯的字符串,整个查询逻辑的控制用代码表达起来很麻烦。
Form组件
Symfony 提供了 form 生成,提交以及验证的功能。组件抽象了三个方面的东西:formType 来维护需要填写保存的值,formTheme 来定义表单的 html 结构,以及 validation 提供数据验证的功能。这个组件的缺点也很明显,概念太复杂了,如果遇到要自己定义一个 field,简直就是自找麻烦。
性能
Symfony 提供了一个极好的组件叫 profile,能以图形化的形式显示各个部分代码执行的时间,消耗的内存,还有数据库查询的语句,查询的行数,用到的索引的。配合这个工具来优化代码,可以让网站跑得飞快。
1.Linux/Mac OS
在控制台执行如下命令:
$ sudo curl -LsS http://symfony.com/installer -o /usr/local/bin/symfony
$ sudo chmod a+x /usr/local/bin/symfony
将会在你的操作系统创建一个全局命令symfony
2.Windows
在控制台执行如下命令:
c:\> php -r "readfile('http://symfony.com/installer');" > symfony
将下载下来的symfony文件移到你的项目目录,然后执行以下命令:
c:\> move symfony c:\projects
c:\projects\> php symfony
3.创建一个symfony应用
使用new命令创建第一个symfony应用
# Linux, Mac OS X
$ symfony new my_project_name
# Windows
c:\> cd projects/
c:\projects\> php symfony new my_project_name
Quick Unpack 是一款非常知名的万能脱壳工具。该软件体积小巧,能够对市面上绝大部分软件进行脱壳处理,如:UPX, ASPack, FSG, MEW, PE Diminisher, PECompact, PE-PACK, PackMan, WinUPack 等等。软件尝试绕过所有可能的加密器/混淆器以实现脱壳的目的,速
light table 是由Microsoft Visual Studio部门项目经理Chris Granger推出的一款免费开源,功能强大的新一代IDE(代码编辑器)。它的理念非常简单念:写程序需要的是真正的工作台,不只是编辑器和项目浏览器。支持支持多种语言,界面简洁,功能全面,可以让您
Diffinity 是一款代码对比工具,可以方便用户快速找出代码之间的差异,然后用不同的颜色标记出来,还可以自定修改不同的地方,支持语法高亮,支持生成缩略图。 软件特色: 1、实例高亮显示 2、语法高亮显示 3、可定制的界面 4、支持生成相应的缩略图 5、区分
借助于jTessBoxEditor软件能够提高Tesseract-OCR文字识别准确率,通过jTessBoxEditor的不断训练,使得Tesseract-OCR文字识别准确率得到极大的提高。 使用方法: jTessBoxEditor的运行环境为JAVA虚拟机,teesseract智能图片识别软件的训练框架,不需要安装直
SavageEd Pro 是一款强大的文本编辑器软件,软件采用x86汇编语言编写,可用于大文本文件的编辑预览使用,并支持搜索、替换等常见功能;SavageEd是windows系统最好的替代工具。 软件特色: 1.自动备份:软件摒弃定时备份,采用事件驱动机制的备份模式,当用户