百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

PHP技术栈 php技术架构怎么介绍

yuyutoo 2024-11-11 16:48 2 浏览 0 评论

本文旨在给要学习 PHP 的新手一个大概的认知轮廓,在心里有个学习的结构,有的放矢,避免走太多弯路。大神请忽略。

入门阶段

预备知识

1、掌握基本HTML、JS、CSS语法;熟悉 Bootstrap。

参考:

https://www.runoob.com/html/html-tutorial.html

https://www.liaoxuefeng.com/wiki/1022910821149312

https://www.runoob.com/css/css-tutorial.html

验收最低标准:模仿写出jd.com或者vip.com首页第一屏内容。

2、熟悉Linux命令行

熟悉常用发行版系统(CentOS、Ubuntu)安装

熟悉常用命令行操作,包括文件管理、用户管理、权限管理、防火墙管理等

熟悉VIM使用

验收最低标准:掌握lnmp环境搭建。

PHP基础

掌握PHP基础语法、文件上传、cookie、Session、JSON。

掌握MySQL数据库连接:pdo使用。

掌握redis连接及简单应用。

掌握命名空间。

掌握面向对象编程思想。

参考:

https://www.runoob.com/php/php-tutorial.html

学习框架

学会使用ThinkPHP框架。主要是该框架在国内使用普及率太高了。不建议使用Laravel入门,因为该框架使用了较多的语法糖、第三方库,对新手可能有难度。

验收最低标准:可以使用ThinkPHP最新版作为入手框架,写出一个简单的博客。页面简单写就行。数据之间使用TP的 display 渲染到页面。

学习写接口

学会 Charles 抓包,看豆瓣的接口返回的数据。

学会写接口(GET、POST)的就行。

学会使用 POSTMAN

验收标最低准:把上面的博客项目改成前后端分离的,先写完接口(最好有文档),再在页面里使用ajax调用接口数据。

至此,你已经入门了。如果需要继续往下,还要学习。

第二阶段

PHP

使用 composer 安装PHP第三方库

对于PHP断点调试非常熟悉

学习常用PHP扩展

使用 SPL

掌握 PSR 规范

掌握反射的使用

掌握设计模式

熟练使用常用框架。

了解php和php-fpm的大部分配置选项和含义。

熟悉HTTP协议。

熟悉正则表达式。

MYSQL

熟悉MYSQL优化的一些技巧,例如MySQL的性能追查,包括slow_log/explain等;对于order by、limit、like等一些坑能避开;能够熟练使用常用的索引;对于表结构创建选用哪种数据类型做到胸有成竹等等。

熟悉常用的配置,知道如何调优。

熟练配置主从。

NOSQL

掌握Redis使用:对于常用数据结构的经典使用场景非常熟悉;了解Redis的事务、RDB、AOF等机制。

掌握memcache的使用,知道与redis的区别。

了解一下MongoDB。

Linux

熟悉常用文本命令:例如wc、awk、split、diff、grep、sed等。

熟悉sort、uniq的使用。

熟练掌握ps、netstat、top等命令使用。

熟练使用Supervisor。

熟悉如何编写shell脚本。

能够理解Nginx的配置的含义。

第三阶段

PHP

该阶段PHP已经非常熟悉了,拥有快速开发项目、快速解决BUG的能力。代码遵循psr规范、稳定性很高。

熟悉消息队列使用,在很多场景合适的选择消息队列进行异步解耦。

熟悉如何使用 Elasticsearch 代替MYSQL的全文搜索功能。

熟悉多进程编程。

熟悉socket编程,对于网络IO模型有一定的认知,熟悉多路复用(select/poll/epoll)技术。

熟悉swoole框架,能应用于项目上。

不限制于框架本身,任何框架一天内快速入手。

对php的工作机制熟悉,熟悉php-fpm生命周期。

能够知道PHP相对于c等强类型语言性能为什么会慢。

对于PHP内部的实现原理有一定的认知,例如变量的实现、zend引擎的了解。

对于PHP的扩展有一定的认知,可以编写简单的扩展。

MYSQL

熟悉大批量的数据导入导出。对于线上大表操作可能带来的风险有预知。

熟悉分库分表。

对主从延迟能有效解决。

对于MySQL内置的一些函数能够熟练使用,熟悉触发器、存储过程的使用。

熟悉服务器核心性能优化选项 innodb_log_buffer_size、back_log、table_open_cache、thread_cache_size、innodb_lock_wait_timeout等。

对于MySQL内部索引的实现、事务隔离机制有一定的认知。

NoSQL

redis常用5中数据类型之外的数据结构也要能掌握一些。如bitmap、GEO、HyperLogLog、pub/sub等。

redis里的事务、管道、分布式锁能熟练使用。

对于redis的服务端结构能有一定认知。

熟悉redis里如何使用Lua。

尝试阅读redis源码。

Linux

对于nginx非常熟悉,能够熟练配置https、负载均衡、反向代理;能够使用 lua-nginx-module。

对awk/sed 等应用已经如火纯青,能够随意操作控制处理文本统计分析各种复杂格式的数据。

对于tcpdump、gdb、ltrace、strace、lsof等熟练使用。

其它

熟悉Linux应用编程:熟悉makefile使用;熟悉进程、信号、I/O知识;对于C语言有一定的了解。

熟练elk。

对于其它语言(例如java、c、golang)、其它领域(大数据)有一定的认知。

熟悉RPC、微服务架构。

能够支持对于千万级流量网站的正常开发维护工作。

结束语

技术无止境,未来有更多可能。

本文首发于公众号"飞鸿影的博客(fhyblog)",欢迎关注。博客地址:https://52fhy.cnblogs.com

(本文完)

相关推荐

jQuery VS AngularJS 你更钟爱哪个?

在这一次的Web开发教程中,我会尽力解答有关于jQuery和AngularJS的两个非常常见的问题,即jQuery和AngularJS之间的区别是什么?也就是说jQueryVSAngularJS?...

Jquery实时校验,指定长度的「负小数」,小数位未满末尾补0

在可以输入【负小数】的输入框获取到焦点时,移除千位分隔符,在输入数据时,实时校验输入内容是否正确,失去焦点后,添加千位分隔符格式化数字。同时小数位未满时末尾补0。HTML代码...

如何在pbootCMS前台调用自定义表单?pbootCMS自定义调用代码示例

要在pbootCMS前台调用自定义表单,您需要在后台创建表单并为其添加字段,然后在前台模板文件中添加相关代码,如提交按钮和表单验证代码。您还可以自定义表单数据的存储位置、添加文件上传字段、日期选择器、...

编程技巧:Jquery实时验证,指定长度的「负小数」

为了保障【负小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【负小数】的方法。HTML代码<inputtype="text"class="forc...

一篇文章带你用jquery mobile设计颜色拾取器

【一、项目背景】现实生活中,我们经常会遇到配色的问题,这个时候去百度一下RGB表。而RGB表只提供相对于的颜色的RGB值而没有可以验证的模块。我们可以通过jquerymobile去设计颜色的拾取器...

编程技巧:Jquery实时验证,指定长度的「正小数」

为了保障【正小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【正小数】的方法。HTML做成方法<inputtype="text"class="fo...

jquery.validate检查数组全部验证

问题:html中有多个name[],每个参数都要进行验证是否为空,这个时候直接用required:true话,不能全部验证,只要这个数组中有一个有值就可以通过的。解决方法使用addmethod...

Vue进阶(幺叁肆):npm查看包版本信息

第一种方式npmviewjqueryversions这种方式可以查看npm服务器上所有的...

layui中使用lay-verify进行条件校验

一、layui的校验很简单,主要有以下步骤:1.在form表单内加上class="layui-form"2.在提交按钮上加上lay-submit3.在想要校验的标签,加上lay-...

jQuery是什么?如何使用? jquery是什么功能组件

jQuery于2006年1月由JohnResig在BarCampNYC首次发布。它目前由TimmyWilson领导,并由一组开发人员维护。jQuery是一个JavaScript库,它简化了客户...

django框架的表单form的理解和用法-9

表单呈现...

jquery对上传文件的检测判断 jquery实现文件上传

总体思路:在前端使用jquery对上传文件做部分初步的判断,验证通过的文件利用ajaxFileUpload上传到服务器端,并将文件的存储路径保存到数据库。<asp:FileUploadI...

Nodejs之MEAN栈开发(四)-- form验证及图片上传

这一节增加推荐图书的提交和删除功能,来学习node的form提交以及node的图片上传功能。开始之前需要源码同学可以先在git上fork:https://github.com/stoneniqiu/R...

大数据开发基础之JAVA jquery 大数据java实战

上一篇我们讲解了JAVAscript的基础知识、特点及基本语法以及组成及基本用途,本期就给大家带来了JAVAweb的第二个知识点jquery,大数据开发基础之JAVAjquery,这是本篇文章的主要...

推荐四个开源的jQuery可视化表单设计器

jquery开源在线表单拖拉设计器formBuilder(推荐)jQueryformBuilder是一个开源的WEB在线html表单设计器,开发人员可以通过拖拉实现一个可视化的表单。支持表单常用控件...

取消回复欢迎 发表评论: