php工程师需要具备哪些技术
2023-04-03 · 百度认证:重庆猪八戒网络有限公司官方账号
想成为一名PHP工程师你得需要以下技能:
前端
但凡是一个网站都必须得让人能看得见,使用得起来。任何一个网站可以没有数据库,可以没有后端程序,但是必须得有前端页面,而这也是最早期的网站形态—一一个只能展示文字和图片等信息的静态页面。
掌握静态网页的制作技术是学习开发网站的先决条件。这里面的学习包括HTML,CSS,JavaScript,它们可以直接使用浏览器运行。
HTML负责网页的结构,用它来规定网页排版中哪部分是文字,哪部分可以放图片,音频文件,视频文件放在网页中什么位置显示等。
CSS可以把这些文字,图片,视频等信息拥有一定的合理好看的样式,可以定义文字的大小,颜色,图片的大小等等。
JavaScript可以让网页与人产生交互,就像你登录网站,点击登录按钮就会跳转,把鼠标放到菜单,菜单就会自动展示下拉,逛淘宝时,把鼠标放在产品图片上,图片就会放大等等。
后端
到这里才说到我们的PHP。如果说HTML和CSS是看得见的部分,那么PHP就是看不见的部分。它负责在后面处理数据,然后返回给用户。
当网站由开始的静态页面发展到现在有了后端程序,那么网站才有了业务逻辑。简单的说,就像一台计算器,你在前端输入数据,然后点击提交,PHP给你处理运算,然后返回到前端,这时你就看到了结果。
MySQL数据库
数据库是什么,按字面的意思,数据库说白就是存放数据的地方,它可以是一段文字,一张图片或者一个文件的URL地址等等。比如,当你想浏览一篇文章时,你点击文章标题,这个请求会跳转到PHP文件那里,PHP再从数据库取出你想看的那篇文章。
框架
框架说白了就是一个已经帮你完成了部分功能的程序部件结构。
基本上到了公司动手做起真实的项目中都是使用框架来开发的,它可以使你的开发速度更快。
MySQL优化技术
当你学会了PHP,MySQL的一些增删改查技术后,你可以尝试做一个简单的文章管理系统了,能发布,修改,和查看文章。
但是,你试想一下,会不会遇到这样一个问题:当你查看一篇文章,MySQL需要从文章表中寻找你需要的那一篇取出来,此时你的文章已经很多了,MySQL再从里面找一篇文章是不是越来越耗时了,平常文章量少的时候也许1秒钟就能打开一篇文章,此时可能需要十来秒,你愿意等吗用户愿意等吗如果用户看一篇新闻需要等很长时间,那能行吗
所以我们要对MySQL进行优化,让数据库尽量用更少的时间找到我们需要的东西。
页面静态化技术
当你学会了MySQL优化技术,切不要沾沾自喜,新的问题的依然很多。
可以再试想一下:一个人访问时,和大量的人访问时当你一个人访问也许很快,但是大量的人访问,MySQL要处理大量的请求,它是忙不过来的,MySQL支持的请求数是有限的,这很容易理解吧。
假如它一次只能处理100个请求,当超过100个人时,其他的用户是不是就要等着,这样速度又降下来了。
怎么办一个很好的解决方案是采用静态化技术。
Linux
我们的程序,数据库,整个网站终归都是放在Linux系统的服务器上的,对于一般的程序员能做到基本的配置即可。基本命令、操作、启动、基本服务配置(包括rpm安装文件,各种服务配置等);会写简单的shell脚本和awk/sed脚本命令等一般公司有相应的运维人员管理。如果对这个有兴趣,后期可以继续深挖。
非关系型数据库Redis/Memcached
怎么又是数据库不是已经讲过了MySQL了是的,上面咱们说的MySQL是关系型数据库,所以这两个叫做非关系型数据库。
与MySQL不同的是Redis和Memcached的数据是放在内存中的,MySQL是放在磁盘中的,而访问内存中的数据速度要远大于放在磁盘中,这就是它们的好处。
那为什么还要学习MySQL,干嘛不直接学习使用Redis和Memcached
因为:MySQL更适合海量存储数据,Redis和Memcached是在内存中的,需要很大的内存才行,而且放在内存中的数据也容易丢失,如果机器故障重启内存就释放了。