您的位置 首页 php

PHP技术栈

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

php是世界上最好的语言!

入门阶段

预备知识

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

参考:

2、熟悉 Linux 命令行

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

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

熟悉VIM使用

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

PHP基础

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

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

掌握redis连接及简单应用。

掌握命名空间。

掌握面向对象编程思想。

参考:

学习框架

学会使用 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)”,欢迎关注。博客地址:

(本文完)

文章来源:智云一二三科技

文章标题:PHP技术栈

文章地址:https://www.zhihuclub.com/153122.shtml

关于作者: 智云科技

热门文章

网站地图