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

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

yuyutoo 2024-11-11 16:48 8 浏览 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

(本文完)

相关推荐

网站建设:从新手到高手

现代化网站应用领域非常广泛,从个人形象网站展示、企业商业网站运作、到政府公益等服务网站,各行各业都需要网站建设。大体上可以归结四类:宣传型网站设计、产品型网站制作、电子商务型网站建设、定制型功能网站开...

JetBrains 推出全新 AI 编程工具 Junie,助力高效开发

JetBrains宣布推出名为Junie的全新AI编程工具。这款工具不仅能执行简单的代码生成与检查任务,还能应对编写测试、验证结果等复杂项目,为开发者提供全方位支持。根据SWEBench...

AI也能写代码!代码生成、代码补全、注释生成、代码翻译轻松搞定

清华GLM技术团队打造的多语言代码生成模型CodeGeeX近期更新了新的开源版本「CodeGeeX2-6B」。CodeGeeX2是多语言代码生成模型CodeGeeX的第二代模型,不同于一代CodeG...

一键生成前后端代码,一个36k星的企业级低代码平台

「企业级低代码平台」前后端分离架构SpringBoot2.x,SpringCloud,AntDesign&Vue,Mybatis,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任...

Gitee 代码托管实战指南:5 步完成本地项目云端同步(附避坑要点)

核心流程拆解:远程仓库的搭建登录Gitee官网(注册账号比较简单,大家自行操作),点击“新建仓库”,建议勾选“初始化仓库”和“设置模板文件”(如.gitignore),避免上传临时文件。...

jeecg-boot 源码项目-强烈推荐使用

JEECGBOOT低代码开发平台...

JetBrains推出全新AI编程工具Junie,强调以开发者为中心

IT之家2月1日消息,JetBrains发文,宣布推出一款名为Junie的全新AI编程工具,官方声称这款AI工具既能执行简单的代码生成与检查等基础任务,也能应对“编写测试、验证结...

JetBrains旗下WebStorm和Rider现已加入“非商用免费”阵营

IT之家10月25日消息,软件开发商JetBrains今日宣布,旗下WebStorm(JavaScript开发工具)和Rider(.NET开发工具)现已加入“非商用免费”阵营。如果...

谈谈websocket跨域

了解websocketwebsocket是HTML5的新特性,在客户端和服务端提供了一个基于TCP连接的双向通道。...

websocket调试工具

...

利用webSocket实现消息的实时推送

1.什么是webSocketwebSocket实现实现推送消息WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。以前的推送技术使用Ajax轮询,浏览器需...

Flutter UI自动化测试技术方案选型与探索

...

为 Go 开发的 WebSocket 库

#记录我的2024#...

「Java基础」Springboot+Websocket的实现后端数据实时推送

这篇文章主要就是实现这个功能,只演示一个基本的案例。使用的是websocket技术。...

【Spring Boot】WebSocket 的 6 种集成方式

介绍...

取消回复欢迎 发表评论: