热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2012是PHP讨论交流非常优秀的一年

2012是PHP讨论交流非常优秀的一年,不仅由于很多迫切的新功能被加入到了PHP5.4当中,而且无数的项目,都上升了一个新的高层次。本篇我想带这大家看看过于PHP带来了什么问题,并且展望下2013年PHP可能会为我们带来...

2012是PHP讨论交流非常优秀的一年,不仅由于很多迫切的新功能被加入到了PHP5.4当中,而且无数的项目,都上升了一个新的高层次。
本篇我想带这大家看看过于PHP带来了什么问题,并且展望下2013年PHP可能会为我们带来些什么。

需要和哪些做抗争?


这个可能对你来说很惊讶,但是很多人对那些PHP开发者以及语言这个整体都会产生负面的情绪。如果你由于某种意义上的一点压力,在过去几年已经深入学习Ruby,你应该能够确切明白我的意思。
“然而,在你做任何的改变之前,你需要问你自己‘为什么PHP会有这样一个污名’”
嗯,就想生活中许多重要的问题,没有明确的答案。在你进行了大量在线搜索以后,你会发现一些关于PHP的争吵,大概有80%以这样或那样的形式反对PHP的争吵都非常愚昧。

初学者


这里的初学者是那些根本不知道PHP是如何工作的人,就像提这种问题的“为什么PHP不能监听一个按钮的事件”,和AJAX的类似的一些问题。

一种语言解决所有问题


接下来,有这些人不知道其他语言或框架比他们目前,这些制造争吵的形形色色的人,例如就像这些“Rails比PHP更简单”。

\

与PHP4抗争


第三种是那些这些年没有跟上PHP的进步的人,想法他们仍然跟语言在做厮杀,这个已经存在多年了。声明的原因就像“PHP不是面向对象的”或者“PHP糟透了,他并不支持命名空间”,你懂得。

扩展

最后,我们有一些聪明的开发者,他们相信“PHP不能定量”或者“PHP没有规范”,这些完全是错误的,扩展和语言关系并不大,更多和服务器和应用程序架构有关,至于标准,你可以快速的去谷歌搜索下PHP-FIG看看

什么是PHP-FIG? 

“PHP-FIG 的全名是 PHP Framework Interoperability Group 中文真要翻译的话,我们就叫他 PHP 通用性框架小组吧(说实话翻成中文后的感觉真的蛮怪的XD)。这个小组从 2009 开始,由几个框架的开发者所组成,一直扩展到现在已超过 20 多位成员。而他们原先是取名为 “PHP Standards Group” 会有这个小组最主要的原因是希望,PHP 能够有个最低程度的共通编码风格可以依循,以避免以免各家发展各家的写法,让使用各种 Framework 或是 CMS 的开发者得要各自去了解不同的风格,哪天习惯后得再去使用其他套时,还得再重新学习。”
这些争论都是一个不真的事实,通过网络的要么是错误或者已经更新了。


PHP不是完美的

每个评论都有他的道理,然后,PHP不是完美的,PHP核心自身函数的命名都不是一致的,这些争论是有效的。

这些不一致并非没有原因,虽然PHP最初只是一个模板语言,自从他诞生以来,经历了多次的转变,变成了一个函数式的语言,就像C那样,然后就完全面向对象,如同我们今天所享受的那样。一路上,PHP一致是很多人维系补充。现在你可能会问,“为什么不忽略掉不好的部分呢?”

这个问题和答案是一样的,为什么我们仍然使用老版本的浏览器构件我们的网站。不要误会我,不像把它丢掉,但这样做是需要一定的实践的。希望随着时间的推移,PHP会晋升到OOP,并且对象可以使用::而不是尴尬的->语法,所以代替array_push($arr, "Value");你可以像$arr.push("Value");这么写。

不要担心,事情正已经慢慢发生改变,只要看看PHP5.5新版本。老版本的MySQL函数扩展将会被废弃掉,支持新的面向对象的写法。


目前


现在已经代替了过去,让我们跳转到现在来。有一些很酷的项目和活动,其中一部分借鉴了其他语言,为推动PHP到了下一个层次。
让我们考虑下面的:

Composer

\


一个PHP关系包管理工具,类似Ruby的Bundler和NodeJS的NPM,通过配置文件检查你的包关系情况,通过简单的命令行将他们快速添加到你的项目中去。
尽管这个项目去年才开始,但2013年将会成为PHP的一个热点

Laravel

\


Laravel会将你带入类似Ruby的开发体验当中去,这个框架在2013年将会受到更多的关注,第四个发布版本含带了:组件、更好的测试、简单的mail和控资源制器以及一些其他的特性,在这一年内保持关注。

PHP 5.4 / 5.5

\

2012年成功发布了PHP5.4,含有了很多不错的特性,例如内建服务器、traits和improved array语法(http://www.php100.com/html/itnews/it/2012/0723/10730.html),5.5中仍然含有不少不错的特性:

 


测试驱动开发

最后,让我们讨论一下测试你的代码。虽然不可否认有点迟了比赛,在2012年,我们的社区看到广泛采用测试驱动开发方法。我可以组成一个增长的百分比,但我觉得一个更好的指示的真理是简单地环顾不同dev网站和论坛。你肯定会看到一个钉!当谈到测试在PHP,PHPUnit)是普遍接受的标准。


推荐阅读
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • 本文介绍了DataTables插件的官方网站以及其基本特点和使用方法,包括分页处理、数据过滤、数据排序、数据类型检测、列宽度自动适应、CSS定制样式、隐藏列等功能。同时还介绍了其易用性、可扩展性和灵活性,以及国际化和动态创建表格的功能。此外,还提供了参数初始化和延迟加载的示例代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 前言:关于跨域CORS1.没有跨域时,ajax默认是带cookie的2.跨域时,两种解决方案:1)服务器端在filter中配置详情:http:blog.csdn.netwzl002 ... [详细]
  • 必须先赞下国人npm库作品:node-images(https:github.comzhangyuanweinode-images),封装了跨平台的C++逻辑,形成nodejsAP ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
author-avatar
九九九丶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有