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

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

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

(本文完)

相关推荐

ETCD 故障恢复(etc常见故障)

概述Kubernetes集群外部ETCD节点故障,导致kube-apiserver无法启动。...

在Ubuntu 16.04 LTS服务器上安装FreeRADIUS和Daloradius的方法

FreeRADIUS为AAARadiusLinux下开源解决方案,DaloRadius为图形化web管理工具。...

如何排查服务器被黑客入侵的迹象(黑客 抓取服务器数据)

---排查服务器是否被黑客入侵需要系统性地检查多个关键点,以下是一份详细的排查指南,包含具体命令、工具和应对策略:---###**一、快速初步检查**####1.**检查异常登录记录**...

使用 Fail Ban 日志分析 SSH 攻击行为

通过分析`fail2ban`日志可以识别和应对SSH暴力破解等攻击行为。以下是详细的操作流程和关键分析方法:---###**一、Fail2ban日志位置**Fail2ban的日志路径因系统配置...

《5 个实用技巧,提升你的服务器安全性,避免被黑客盯上!》

服务器的安全性至关重要,特别是在如今网络攻击频繁的情况下。如果你的服务器存在漏洞,黑客可能会利用这些漏洞进行攻击,甚至窃取数据。今天我们就来聊聊5个实用技巧,帮助你提升服务器的安全性,让你的系统更...

聊聊Spring AI Alibaba的YuQueDocumentReader

序本文主要研究一下SpringAIAlibaba的YuQueDocumentReaderYuQueDocumentReader...

Mac Docker环境,利用Canal实现MySQL同步ES

Canal的使用使用docker环境安装mysql、canal、elasticsearch,基于binlog利用canal实现mysql的数据同步到elasticsearch中,并在springboo...

RustDesk:开源远程控制工具的技术架构与全场景部署实战

一、开源远程控制领域的革新者1.1行业痛点与解决方案...

长安汽车一代CS75Plus2020款安装高德地图7.5

不用破解原车机,一代CS75Plus2020款,安装车机版高德地图7.5,有红绿灯读秒!废话不多讲,安装步骤如下:一、在拨号状态输入:在电话拨号界面,输入:*#518200#*(进入安卓设置界面,...

Zookeeper使用详解之常见操作篇(zookeeper ui)

一、Zookeeper的数据结构对于ZooKeeper而言,其存储结构类似于文件系统,也是一个树形目录服务,并通过Key-Value键值对的形式进行数据存储。其中,Key由斜线间隔的路径元素构成。对...

zk源码—4.会话的实现原理一(会话层的基本功能是什么)

大纲1.创建会话...

Zookeeper 可观测性最佳实践(zookeeper能够确保)

Zookeeper介绍ZooKeeper是一个开源的分布式协调服务,用于管理和协调分布式系统中的节点。它提供了一种高效、可靠的方式来解决分布式系统中的常见问题,如数据同步、配置管理、命名服务和集群...

服务器密码错误被锁定怎么解决(服务器密码错几次锁)

#服务器密码错误被锁定解决方案当服务器因多次密码错误导致账户被锁定时,可以按照以下步骤进行排查和解决:##一、确认锁定状态###1.检查账户锁定状态(Linux)```bash#查看账户锁定...

zk基础—4.zk实现分布式功能(分布式zk的使用)

大纲1.zk实现数据发布订阅...

《死神魂魄觉醒》卡死问题终极解决方案:从原理到实战的深度解析

在《死神魂魄觉醒》的斩魄刀交锋中,游戏卡死犹如突现的虚圈屏障,阻断玩家与尸魂界的连接。本文将从技术架构、解决方案、预防策略三个维度,深度剖析卡死问题的成因与应对之策,助力玩家突破次元壁障,畅享灵魂共鸣...

取消回复欢迎 发表评论: