石家庄代码加工厂

一家专业的IT职业教育培训机构

学校课程咨询服务:
400-666-4820
培训世界 >石家庄代码加工厂 >新闻中心 >你马上要成为一名合格的PHP开发工程师了

你马上要成为一名合格的PHP开发工程师了

2020-10-21 14:40:18来源: 石家庄代码加工厂
你马上要成为一名合格的PHP开发工程师了
导读:

各位同学在毕业前后将面临找工作的阶段,想要入职一家心仪的公司,成为一名新晋PHP工程师,我们要掌握哪些技能呢?我们来说一说。

文章详情
果断抛弃你的phpStudy
  不得不承认,phpStudy是一款非常优秀的PHP集成环境,版本一键切换,可视化配置,简单粗暴,直接上手。
  但是问题来了,单独安装PHP不会了吧?单独安装Nginx不会了吧?单独安装PHP扩展更不会了吧?一切好用的工具都是一把双刃剑。但是在实际工作中,往往我们会被要求独立配置各种环境,并且通过命令行启动、停止、重启各种服务,尤其是在Linux下,有时候我们不得不通过Shell脚本来组合命令来实现一些功能,所以必要的命令行我们是需要掌握的,比如:
  启动Nginx服务
  service nginx start;
  停止服务
  service nginx stop;
  平滑重启
  service nginx reload;
  监测nginx配置
  nginx-t;
  启动PHP
  servcie php-fpm start;
  停止
  PHPservice php-fpm stop;
  刚开始可能会很不习惯,当熟练了以后,很方便的能创建一个虚拟主机,跑不同的应用。
  能够独立配置各种服务,目的是让我们更加熟悉PHP应用的运行机制。
一定要熟悉Linux下开发
  在学习阶段,在windows下开发没有任何问题,但是我要说的是,找工作前,一定要学会Linux下开发,性能和兼容性上不说了,自行百度即可;基本上99%的PHP代码都运行在Liunx服务器上,当然CentOS/FreeBSD/Linux也一样,只是血统稍有区别。
  Linux与Windows下开发需要注意的是:
  •Linux对大小来写很敏感,对文件、文件夹是否可写、可修改有严格的限制;程度上可以拒绝后门木马,因为压根不进去
  •在Linux调试PHP能使开发的自PHP代码有更好的适用性
  •在Windows中,斜线(/)和反斜线()都可以用作目录分隔符,在Linux上路径的分隔符是/
  •Linux在部署发布过程中也有天然的优势,比如Git专门为Linux而生
  •还有文件字符集的问题,容易出现BOM字符的情况
  •当然还有更多的不同,需要同学自行了解
学会Composer包依赖管理器
  Composer是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。
  安装Composer需要完成以下两步:
  :下载Composer到你的项目目录。使用以下命令:
  curl-s(Composer web site)/installer|php
  记着要设置一下国内镜像,比如阿里云镜像,否则,你懂的。
  简单说下它的作用(支持Windows和Linux),GitHub上有很多优秀的开发者发开的轮子,如发送邮件,公众号开发等,我们可以composer加载这些轮子而无需关系引入的问题,如include,require,Composer帮我们完成这些事情,我们可以更专心关注业务层面的开发。
  比如我们使用EasyWechat包
  composer require overtrue/wechat:~4.0-vvv
熟练使用Mysql数据库
  这个阶段对Mysql的要求是,创建数据库,删除数据库,表创建,表删除,表修改,数据的新增,删除,查询,修改,这些基本语句必须要熟练运用,面试过程中如果不会,我会直接pass。
  了解一下索引,有基础的优化方案就够了。实际使用中,熟练运用如何使用客户端连接数据库,我遇到过个别的同学,能熟练连接自己电脑上的数据库,但是不会连接云数据库,如阿里云的RDS,其实没区别,数据库地址,用户,密码搞定。
  大型的项目或者产品,公司往往会配置DBA这个角色来负责数据库维护,专业的事交给专业的人来做。
服务器Nginx
  没有这个服务器,将无法通过外网访问我们的应用。对Nginx的要求是,能够熟练配置虚拟主机即可。我们先简单的了解一下,后续我会专门写一篇关于Nginx的文章
  events{
  use epoll;
  worker_connections 51200;
  multi_accept on;
  }
  http{
  server{}
  server{}
  ...
  }
  这是Nginx的基本结构,往往我们创建站点的时候,更关注server{}
  server{
  listen 80;//监听80端口,重要!!!
  listen[::]:80;
  server_name www.lingj.net;//要使用域名,重要!!!
  access_log/data/wwwlogs/nginx.log combined;
  index index.html index.htm index.php;
  root/data/wwwroot;//站点根目录,重要!!!
  include/usr/local/nginx/conf/rewrite/laravel.conf;
  #error_page 404/404.html;#error_page 502/502.html;
  location~[^/].php(/|$){
  #fastcgi_pass remote_php_ip:9000;
  fastcgi_passunix:/dev/shm/php-cgi.sock;//连接PHP,重要!!!
  fastcgi_indexindex.php;include fastcgi.conf;
  }
  所以,我们在部署一个PHP站点的时候,必须知道域名,端口号,网站根目录,连接PHP的方式!!!配置完毕后,别忘了执行
  nginx-t;
  监测配置是否正确。
域名解析
  一个站点是如何展示到用户面前的?如果域名解析不熟悉,抱歉放弃软件开发吧。我们可以不需要知道域名是如何解析的,但是我们必须知道如何设置域名解析。通常情况下,对一个站点我们要做A记录或者CNAME。
  A记录:这个最容易理解,把某个域名指到某个IP即可,再通过上面的Nginx配置好的域名,就可以访问了。配置完域名后,我们通常需要执行ping命令或者dig命令来观察是否已经解析。
  
  CNAME记录:通常在部署CDN(自行百度)的时候会用的到,意思是把我们的域名如www.test.com解析到CDN服务商提供的另一个域名如cdn.test.baidu.com,这样,用户在访问我们应用的时候,无法拿到我们真实服务器IP,也是一种保护机制。
  
熟练使用一种框架,如Laravel,ThinkPHP,Yii
  一定要记住,框架是提升我们效率的工具,不要过度依赖任何一种框架,原生的代码一定要掌握,才能熟练使用框架。
  框架是工具!!!是工具!!!是工具!!!
  用多了连基本的SQL都不会写了,因为框架基本都是ORM封装到了极致,在这里PHP的基础就体现出来了。
  前期用一个最容易上手的框架,如ThinkPHP,国人开发,符合国内编码习惯,简单易学。但是在这里我本人推荐使用Laravel框架,难度稍大,但你一定会爱上它的。
  适合自己的才是的,不要过分追求框架的性能对比指标。框架之间区别不大,学会一种,新框架学起来会非常快的。
  框架最最最基础的4要素,路由,控制器,模型,视图,一定要熟练掌握,其他的如队列,事件,异步,命令行都是在为我们的业务服务。
版本控制,如Git,SVN
  这也是任何一家公司必须掌握的工具,完全当做一个软件去学习即可,更高级的用法如钩子,工作流,后期可以再掌握,这里推荐在码云中进行练习。
前端技能如jQuery、VUE、Html、Ajax
  作为后端程序员,现阶段,这些前端知识作为熟知,其中AJAX必要掌握,要熟悉AJAX的同步和异步的区别,这才是AJAX的本质。如果是产品采用VUE技术栈,那么要求我们后端熟悉的是API开发流程,如果是JQuery,DOM元素选择器,Ajax是必要的,Html是所有Web开发的根本,这个不必多说了。
  进阶的技术栈,如队列,分为Redis驱动,Database驱动等;负载均衡,集群,分布式等等,这些技术储备是你入职的加分项,这些技术栈了解即可,无需深入,工作过程中会接触的到,对于初次入职的程序员,用人企业不会作为绝对指标。
  总之,对于毕业前后的这个阶段,用人企业更关注的是候选人的沟通能力,学习能力和可塑性,所以除了技能上的硬件指标,软性实力是必不可少的,因此,在平时的学习中一定要多想,想想它是怎么实现的?一定要做练习,想了以后要实践一下,不管结果如何,毕竟实际操作过,印象会更深刻。
  以上是初入PHP开发行业最基础的技能要求,不要求精通,熟悉,熟知,会用即可,面试过程中有问就有答,再综合你的软性实力,相信一定会找到心仪的工作。

石家庄代码加工厂

石家庄代码加工厂是一家专业的IT职业教育培训机构,是由10年以上互联网开发经验的大咖创办,采用实施硬实力与软实力结合授课方式,课程无噱头,纯干货,师傅带徒弟的教学模式,致力于为学员提供优质的IT职业教学服务。

展开更多

咨询热线:400-666-4820

课程导航

1