未加星标

在 2016 年做 PHP 开发是一种什么样的体验?

字体大小 | |
[开发(php) 所属分类 开发(php) | 发布者 店小二04 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏
在 2016 年做php 开发是一种什么样的体验?

7小时前来源:CSDN博客

在 2016 年做 PHP 开发是一种什么样的体验?(一)

嘿,我最近接到一个网站开发的项目,不过老实说,我这两年没怎么接触编程,听说 Web 技术已经发生了一些变化。听说你是这里对新技术最了解的开发工程师?

你算是找对人了。我对今年的技术别提多熟了, VR 、机器学习、守望先锋……你尽管问吧。我刚去了几个热门的技术大会逛了一圈,没有什么新技术是我不知道的。

厉害。是这样的,我要开发一个网站,用来展示用户的最新动态。我想我应该通过后端接口获取数据,然后用一个 table 来展示数据,用户可以对数据进行排序。如果服务器上的数据变化了,我还需要更新这个 table 。我的思路是用 jQuery 来做。

可别用 jQuery !现在哪还有人用 jQuery 。现在是 2016 年了,你绝对应该用 React 。

等等,这句话之前已经有一位前端大神和我说过了,我今天主要是想问你后端该怎么做。

哦原来是这样,你提到了 Smarty ?你后端语言是 PHP 对吧,现在哪还有人用 Smarty 。现在是 2016 年了,你绝对应该用 Twig 。

是的,但是 Twig 的语法更加优雅,使用更方便,速度也快,而且许多开发框架都支持把 Twig 作为模板引擎,和框架的整合也做得更好。

好吧那我用 Twig ,请问在哪里下载?

你不用自己下载安装,只需要在你项目的 composer.json 文件中添加一个依赖,然后 Composer 会帮你安装。

等等, Composer 是什么?

Composer 是一个以 PSR-4 标准进行自动化包管理的工具,用它可以方便的进行各种第三方软件的依赖管理和下载、更新等操作

PSR-4 ?

对, PSR-4 是 PHP-FIG 组织提出的多个为了统一项目规范的标准之一,是用来规范 PHP 项目的 Namespace 、目录结构、加载规范的。

那除了 PSR-4 之外还有什么?

还有用来规定代码风格的 PSR-1 ,以及 PSR-1 的扩展版本 PSR-2 ,还有用来规定日志的 PSR-3 ,用来规定缓存的 PSR-6 ,用来规定 HTTP 头消息的 PSR-7 ,以及……

等等,怎么没有 PSR-5 ?

有的,但 PSR-5 还处在草稿阶段,没有正式发布,所以我没有讲给你听。

有 PSR-8 吗?

有的,现在一共是到 PSR-0 到 PSR-17 ,但我没提到的那些大部分都在草稿阶段,所以同上,我没有讲给你听。

好吧好吧,我用 Composer 行了吧。

等等,在你用之前,我建议先配置一个镜像,因为 Composer 的服务器在国外,直接使用经常会出现问题,对了如果你的项目比较大的话,可能第一次使用要 FQ 才能使用。

为什么?

因为虽然软件的版本信息是存在 Composer 的服务器上的,但有大部分软件的 zip 文件是存放在 github 或者别的什么地方的。

好吧这些我都搞定了,我想开始写代码了,听说 Zend Framework 挺有名的?

现在是 2016 年了,没人再用 ZF 了。现在比较流行的 PHP 框架有 Symfony 、 Laravel 、 YII 、 Codeigniter 这些,如果你对性能要求比较高或者想开发一些 Socket 相关的功能的话,可以试试看 Phalcon 、 Yaf 、 Swoole 、 Workerman 、 ReactPHP 这些,对了最近还有个叫 Kraken 的框架在 Github 上比较火,但我还没有试过。

有没有国内用的比较广泛的框架?

ThinkPHP 刚刚推出了支持 Composer 的 5.0 版本,但我建议你再观望一下再决定是否用。

我以前听说最新版本是 3 ,怎么现在是 5 了,请问 ThinkPHP 4 去哪里了?

这个套路你还不明白吗?请问你用过 Java 2/3/4 或者 windows9 吗?

好吧,确实没用过,不过我懂你的意思了。我可以开始写代码了吧? Editplus 我早就装好了

可别用 Editplus !现在哪还有人用 Editplus 。现在是 2016 年了,你绝对应该用 PHPStorm ,非常好用,同类的还有 NetBeans 、 Zend Studio 但现在已经没什么人用了,如果你喜欢简单一些的工具,可以用 Sublime 、 Atom ,或者像我们公司的程序员 MM 一样直接用 VIM 。

程序员 MM ?

是的,对了我们公司在漕河泾,有兴趣可以投个简历给我 [email protected] ,有机会在面试时和程序员 MM 直接交流。

好吧好吧…随便问问,反正我有女朋友。对了请问代码该怎么调试呢?我以前用 Editplus 的时候都是在代码里写 var_dump 和 die 的。

现在哪还有人 var_dump + die。现在是 2016 年了,你绝对应该用 Ladybug 。

Ladybug?

对,类似 var_dump + die ,但是更加好用,能够把要 dump 对象里的内容展示的清清楚楚,配合 Xdebug 你甚至可以在 IDE 里进行断点调试、临时更改变量的值等等

Xdebug?

是的,一个 PHP 的调试工具,安装之后可以像调试 Java 、 C 那样调试 PHP 。

看起来好高级的样子,但我程序还没开始写呢,我听人说写代码第一步是要建数据库?

没错,但现在已经是 2016 年了,没有人直接用客户端连上数据库去建表了,大家都在用 ORM 工具管理数据库。

什么是 ORM ?

ORM 可以让你像操作类一样去操作一个数据库,知名的 ORM 工具有: Doctrine 、 Propel 、 Eloquent 这些。

难道我不能直接写 SQL 吗?

可以当然是可以的,但现在是 2016 年了,没人直接写 SQL 了。而且如果直接写 SQL 的话,安全性怎么办?如果字段做了变更怎么更新所有现存的 SQL ?代码的部署回滚怎么和数据库绑定?而且用了 ORM 之后你可以很简单的就创建出一个表的 CRUD 表单,甚至可以很简单的写几行代码就实现对这个表的各种 API 操作。

听上去很不错啊,能举个例子吗?

比如我最常用的 Doctrine ,只要我用 PHP 类去定义一个表的实体结构( Entity ),我就可以让 Doctrine 自动生成这个表的 DDL ,即使我的表结构有变更, Doctrine 也会帮我生成所对应的 update 表结构的 DDL 。 Entity 在每个字段上都可以进行设置,设置完我就可以生成一个对这个表进行操作的 CRUD 表单,假设某个字段我设置的是日期类型,这个字段在 HTML 里就会被自动生成并映射成为一个包含三个下拉框的组件,而这三个下拉框分别是年月日。

好酷炫,那还有别的用处吗?

多了去了,每个网站都有后台吧,使用了 Doctrine 的话配合一些工具,只要写几行代码就可以生成基于表的后台管理界面,实现一个基本可用的网站后台。但需要注意 Doctrine 一般是以 Service 的方式被用在项目中的,你直接用 Doctrine 并不会很方便。

Service ?

是的,你可以理解为一系列的你代码中可能会用到的第三方应用,他们都通过 Service 的方式被注册到程序中,你在用到某个功能的时候,只需要对他们进行调用即可,就像调用一个函数那么简单。 Service 一般都会支持 IoC 和 DI ,所以对你将来程序的升级也会很有帮助。

IoC 和 DI ?这不是 JavaEE 里面经常用到的东西吗?

没错,但 PHP 项目中现在也在大量使用 IoC 和 DI ,比如 Symfony 和 Laravel 中就都有非常强大的一套 Service 系统,实现了 IoC 和 DI 。

好吧不明觉厉,但是我的开发环境还没有呢,是不是先装一个 XAMPP 吗?

现在是 2016 年了,没人还在用 XAMPP 了。你至少得用个 Vagrant 或者 Docker 吧?不然你的代码准备怎么部署?开发环境和生成环境怎么保证统一?难道你准备直接用 FTP 传源代码文件吗?

本文开发(php)相关术语:php代码审计工具 php开发工程师 移动开发者大会 移动互联网开发 web开发工程师 软件开发流程 软件开发工程师

主题: PHPSQLjQuery程序员服务器JavaLaravelReact数据Docker
分页:12
转载请注明
本文标题:在 2016 年做 PHP 开发是一种什么样的体验?
本站链接:http://www.codesec.net/view/482926.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(php) | 评论(0) | 阅读(39)