PHP框架是什么?
PHP框架 是一个 PHP 应用程序的半成品。框架提供了可在应用程序之间共享的可覆用的公共且一致的结构,而不仅仅是一组工具类。
形象的来说,PHP框架 把PHP程序 开发 摆到了流水线上。换句话说,PHP开发框架有助于促进快速软件开发(RAD),这节约了你的时间,有助于创建更为稳定的程序,并减少开发者的重复编写代码的劳动。这些框架还通过确保正确的数据库操作以及只在表现层编程的方式帮助初学者创建稳定的程序。PHP框架 使得你可以花更多的时间去创造真正的 Web 程序,而不是编写重复性的代码。
PHP框架提供了一个用以构建web应用的基本框架,从而简化了用PHP编写web应用程序的流程。这样不但节省开发时间,有助于建立更稳定的应用,而且减少了重复编码的开发。框架还可以帮助初学者建立更稳定的应用服务,这可以让你花更多的时间去创建实际的Web应用程序,而不是花时间写重复的代码。
我们通常认为PHP框架的作用相当于模型-视图-控制器(Model View Controller)。MVC是种编程的架构模式,将业务逻辑从UI中分离出来,允许一个一个单独修改。MVC打破了一个应用的开发进程,这样各组件就可以不受影响地各自工作,使得用PHP编码更快更简单。
开发人员使用PHP框架的好处很多,其中之一是加快开发进程,为开发者节省大量的时间和精力。另外,稳定是开发者使用框架的另一个重要原因。虽然简单是PHP最大的优点,很多人也因为这一点喜欢使用这个脚本语言,但它同时也是PHP最大的缺点。一些开发者尤其是初学者很容易写出低劣的代码,而自己却没有意识到。
PHP是一个非常宽容的语言,因此,更重要的是在编程时确保没有漏洞。最后,PHP框架的使用是非常广泛的,而且有许多不同的框架可供选择。许多开发者会选择知名的框架,而且他们可以通过论坛/社区来与其他使用相同框架的开发者交流,当然你也可以开发自己的框架。在选择框架之前,你应该先问自己:它会节省你和其他使用者的时间和精力么?应用程序的性能会更好么?是否会提高稳定性?如果这些问题你的回答都是是,那么你就该为你的项目选择一个合适的框架了。
加速开发过程:
PHP框架 内置了预建的模块,免去了冗长又令人厌烦的编程工作。这样开发者就能够把时间花在开发实际程序上,而不是每一次都要为每一个项目重建基础模块。
PHP框架 背后的思想被称为 模型—视图—控制器(MVC)。MVC 是这样一种架构模式:它隔离了业务逻辑与 UI,允许其一改变而另一者不受影响;在 MVC 中,模型负责数据,视图负责表现,控制器则是程序主体或者说是负责业务逻辑。从本质上说,MVC 拆分了一个程序的开发过程,这样你就可以修改独立的每一部分,而其他部分不受影响。这是十分重要的,它使得编写 PHP 代码更为快捷简单。
成熟稳健性:
但是对于大多初级开发者而言,PHP 是如此的简单以至于他们会完全没有意识地写出低质量的代码。这样的 PHP 程序可能在大多数时间内仍正常工作,但你可能已在代码中留下了巨大的安全漏洞,使其易受攻击。而 PHP框架 对一些基本的细节及安全性等做了处理,再次基础上开发出来的 PHP 代码会更加安全可靠。
可扩展性:
PHP框架 往往有着庞大的支持团队,使用者众多,它是不断升级的,你可以直接享受别人升级代码带来的好处。PHP框架 也方便的支持用户根据实际业务需求扩展自己特有的模块。
PHP框架解决了什么?
快速开发:
如上面使用 PHP框架 的理由所言,PHP框架 模糊了 PHP 程序开发中的基本底层细节,使你可以专注于业务逻辑的开发,大大节约了项目开发时间与精力。
编码规范:
PHP框架 的开发规范让大家在基于 PHP框架 开发程序时,所有的开发人员都遵循统一的编码开发规范。如此一来,程
代码将变得容易被其他人理解,项目成员在彼此合作开发时彼此的协作将更加协调,也有利于日后的项目维护及后续开发。
避免常见的安全性问题:
PHP框架 已经对常见的安全性如表单检测、SQL注入等常见的安全问题做了一定的内置处理。当然,不是用上 PHP 就绝对安全了,最重要的还是要程序开发人员自己有安全意识与经验。
MVC 逻辑与交互界面分离:
一份逻辑代码可以支持不同的展现,而展现界面及交互休验的改进,也不用受制于逻辑代码的开发周期,二者可以同时进行。另一个附加的好处是,编写出的 PHP 代码会更加简单、整洁且易懂。
其他:
根据需要构造出漂亮的 URL 等其他功能。
PHP框架的不足?
PHP框架 的不足表现在以下几个方面:
除了学习 PHP 之外,你还需要花费一定时间去学习 PHP框架,尽管这个过程并不复杂。
当 PHP 成为框架之后,它的效率相对原生 PHP 程序,效率出现下降是不可避免的。
当你使用 PHP框架 后,你以前的类库或者程序面临着重新改造的风险。
PHP框架有哪些?
The Zend Framework
Zend Framework在开发者社区中很有人气,其重点是Web 2.0风格的应用程序。由于其广泛的支持和积极的用户群
Zend被称为PHP Company。Zend即使不是当今最流行的PHP框架,也绝对是之一。它强大的功能能够满足企业级的需求
当然它的使用也需要具备广泛的PHP知识。
CakePHP
从初学者到高级PHP开发者,CakePHP都是一个很棒的选择。它与 Ruby on Rails设计的原则基本相同,主要集中在快速开发方面使其成为一个快速应用开发的优良框架。其迅速增长的支持系统、简单和可扩展性使CakePHP成为当今最热门的PHP框架。
Symfony
Symfony针对的更多的是高级开发者,也即创建企业级应用的开发者,尤其是Askeet和Yahoo! Bookmarks。这个开源
PHP框架功能全面,但它的主要缺点是速度慢于其他框架。
CodeIgniter
CodeIgniter 以其易用性、性能和速度而闻名。不同于Symfony,CodeIgniter主要针对的是与人共享主机的开发者,或
为小型设备寻找PHP框架的开发者。它提供简单的解决办法,而且有一个扩展库包括视频教程、论坛、用户指南和wiki。初学者应该考虑使用CodeIgniter 。
Seagull
Seagull 是一个稳定的用于构建web、命令行和GUI应用的PHP框架。这是一个非常易于使用的框架,非常适合初学者到高级程序员。对于初学者,Seagull有一个范例应用库,可以自己设定后满足自身需求;对于高级开发者,Seagull提供了众多选择包括最佳实践、标准、模块化的代码基,这些都可以帮助快速简单地构建Web应用程序。Seagull有一个活跃的开发者社区,内有大量的支持性文档和说明。