CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛

如何零基础自学编程?PHP语言学习路线及其免费学习资料,来卷吧!

本学习路线是以学习PHP语言为主进行规划的,但在我自己实际零基础自学编程的过程中,Redis、Nginx、Linux、Docker等这些技术,在其他编程语言上也是一样的,所以本学习路线除了第二阶段的PHP核心学习,其它阶段的学习资料对其他编程语言也是适用的

回想当初学习编程的起因是因为大学修了一门《网站建设》的课程,课程的内容都是用dreamviewer搭积木的方式建一个简单的网站,后来老师组织了一个网站学习小组,由此开始了我的网站学习之路

一开始就是往图书馆里钻,寻找各种网站建设的书,虽说老师组织了一个网站学习小组,但大家都知道大学老师一般都是给你指个大方向,具体应该学什么书籍和资料也没有给,具体怎么走还是要靠自己, 后来想了想,先找个最基础的看吧,一步一步来嘛

如今是个工作多年的PHP开发工程师,再回头看零基础自学,一步一步走过来的历程,实在是坎坷,现在想想,其实最困难、最迷茫的就是没有一条明确学习路线和相应的学习资料,具体掌握到什么程度达到就业的水平

接下来说一下自己自学编程的学习路线,罗列了从起步-入门-进阶-高级-拓展几个学习阶段的知识点,技术栈的技术学习先后顺序,哪个应该先学,哪个可以后学。每个技术都附带有相应的学习资源,用的学习资源优先选用网络上公开的、免费的资料

版权归原作者和出版社所有,如有侵权请联系我们删除

妈妈再也不用担心我去那些动则几万块的培训班了,伸手即得,支持白嫖,跟着学习路线,一步一个脚印,在去面试之前,最好先刷一下网上的一下笔试题/面试题,比如LeetCode这些网站,这样可以增加offer的数量

学完第一阶段、第二阶段、第三阶段就达到就业的水平了

学习编程最重要的是动手,作为初学者要坚决地跟着学习资源敲代码,即使对知识点已经懂了,但是懂和会用是两码事,切记!!!切记!!!

第一阶段: WEB 入门

HTML 基础

  1. WEB 简介
  2. HTML 标签
  3. HTML5

CSS 基础

  1. CSS 选择器
  2. CSS 属性以及使用
  3. 盒子模型
  4. 浮动定位
  5. CSS3

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

首先在学习 PHP 编程前要先入门 WEB 的基础,理解一个网站基础构成因素,这为后面进一步的学习打下必要的基础

当初我是因为没人指导,然后就去图书馆找了一本网站基础的书,当时没有什么意识,现在回过头来看,我这是把以后的路走宽了,前端的知识还是很有趣的,为什么呢,因为所见即所得嘛,按着书上的代码敲,运行代码,成就感爆棚,然后前端也不需要安装什么环境

当然了,现在企业的前端就不是这么原始了,一般都是使用 vue 、 react 、 node 、 webpack 等前端技术栈,但是对于 PHP 初学者来说,入门基础的前端知识已经足够了,后面学完第三阶段后,在第五阶段会提供往全栈工程师发展的进一步的前端相关学习资料

学习成果

  • 了解最基本的网页概念、 HTML(5) 和 CSS(3) 样式基础知识,了解各种常用标签的意义以及基本用法,为后续更深入的学习打好基础
  • 基本掌握前端必备的 HTML + CSS 样式基础知识,并可以利用这些知识实现静态页面

第二阶段: PHP 入门

PHP 环境搭建

  1. WEB 程序访问流程
  2. 安装集成环境
  3. 安装自定义环境

PHP 核心

  1. 变量和常量
  2. 数据类型与运算符
  3. 流程控制
  4. 函数
  5. 文件包含
  6. 字符串与数组

PHP 典型技术

  1. HTTP 协议
  2. 表单传值
  3. 文件编程
  4. 会话技术
  5. GD 图像处理

面向对象

  1. 面向对象的使用
  2. 面向对象三大特性
  3. PHP 中的继承
  4. 对象的遍历与序列化
  5. 反射机制
  6. 命名空间

PDO 接口

  1. PDO 基本操作
  2. 预处理及属性控制
  3. PDO 异常
  4. PDO 封装

MySQL 基础

  1. 基础 SQL 操作
  2. 列类型与列属性
  3. 事件编程
  4. 高级数据操作
  5. MySQL 三大查询
  6. 备份与还原
  7. 权限管理
  8. PHP 操作 MySQL
  9. 外键和范式
  10. 视图和事务安全
  11. 触发器和索引
  12. 函数和存储过程

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

从这里开始对 PHP + MySQL 基础知识进行学习,掌握 PHP 核心知识

我自己初学的时候,看的书是《PHP与MySQL程序设计》和《细说PHP》, 第一本看的是《PHP与MySQL程序设计》,看完之后感觉学到,但是只学到了一点点,现在回望看就是犯了很多初学者的毛病,只看不动手(那时是冬天 ,冻手),学习编程最重要的是动手,切记!切记!后来又再看了《细说PHP》巩固,按着书上的代码敲, 当时把hello world保存到mysql数据库里很兴奋激动的,还特地发了个朋友圈

PHP 一般都是搭配 MySQL数据库使用的,入门数据库,需要学习数据库的基础概念,看起来可能比较枯燥,但是要坚持看完了,而且要做好笔记,这里再提一嘴,要跟着学习资料敲代码!!

如果是在校学生,刚好有校内编程比赛,要积极参加,我那时刚好学完数据库mysql、然后系内就举办了一个网站建设比赛,然后我兴致勃勃的做了一个相册网站,就相当于QQ空间里面的相册一样, 当时做的只有前端展示,图片保存到本地,图片链接都是使用sql全部初始化到数据库,当时是得了第一名(就7个人参加了比赛),虽然这算不得什么,但是成就感满满的,这对后续坚持学习编程起了很大的作用。

如果不是在校学生,可以做一个门户网站,就实现最简单的增删改查,不要求有多么美观,做出来也是很有成就感的,而且还巩固了所学的知识。后来我是自己做了个最简单的留言板网站,虽然没有上线,就在本地自己电脑自己玩。

学习成果

  • 掌握 PHP 中的变量、类型、常量、运算符、顺序结构、条件结构、循环结构等概念
  • 基本掌握 PHP + MySQL 必备的核心知识,并可以利用这些知识实现动态页面

第三阶段: 巩固进阶

Composer 包管理

  1. 安装
  2. Composer 基本操作

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

Composer 是 PHP 的一个依赖管理工具,用来管理项目第三方库包的工具,学会如何使用就可以了

Git 版本控制

  1. Git 基本操作
  2. 配置仓库和权限控制
  3. 钩子程序

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

Git是一个分布式版本控制系统,对项目代码版本进行管理的一个工具,学会如何使用就可以了

举个比较常见的使用场景,当你正在做一个需求的时候,又有一个需求来了,两个需求是并行的,上线时间不确定,所以代码要分离,最简单的办法就是复制一份代码,放在新的目录下,这样不就可以了,但是这样会造成一些问题,比如说最终两个需求的代码合并的时候产生代码冲突的时候,处理起来很困难,而且有很多需求来的时候,也不可能为每一个需求都复制一份代码,这个时候就要用Git来解决这些问题,为每个需求独立开一个分支就可以了,代码还是一份,最终代码合并处理冲突也很方便

PHP集成框架

  1. ThinkPHP 框架
  2. Laravel 框架
  3. Yii 框架

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

ThinkPHP是国内公司很受欢迎的轻量级PHP开发框架,文档、源码注释都是使用中文,对初学者非常友好

在研究透一个框架后,在学习其它框架的时候,可以快速看框架文档即可上手应用,所以建议先把ThinkPHP研究透再去研究其它框架,一法通万法通。

Redis 缓存

  1. 安装启动
  2. PHP 操作 Redis
  3. 主从配置

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

Redis是一个key-value存储系统,最常见的使用场景是缓存,这非常重要,现在很多项目都用Redis做缓存

学习Redis也想学习PHP一样,入门-实战使用-进阶,

入门Redis,学习资料里提供了一个视频课程,

实战Redis,可以通过《Redis 实战》的学习,认识到Redis丰富的使用场景

进阶Redis,推荐看《Redis 设计与实现》,结合Redis源码理解,学习起来非常丝滑,理解其中的实现机制,再去看其它技术的源码,会发现实现方案有很多相同的地方

MySQL 进阶

  1. 性能优化
  2. 读写分离原理
  3. 日志文件bin-log
  4. 配置
后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

MySQL 数据库有多重要,这里就不再强调了,需要提一嘴的是学习的时候一定要做好笔记

Nginx 服务器


后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

Nginx 是一款轻量级的 Web 服务器、反向代理服务器,也是一个IMAP/POP3/SMTP服务器

Linux 基础

  1. 安装Linux操作系统
  2. 用户、用户组、文件管理
  3. 搭建Lnmp环境
  4. Shell 脚本入门
  5. VI 编辑器

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

现在商业项目都是运行在 Linux 系统下的,因此基础Linux系统操作是必备的

Docker 容器引擎


后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化

说人话就是把项目集成编排,换一台电脑也可以很方便地跑起来

Elasticsearch 搜索

  1. 安装启动
  2. Elasticsearch 数据类型
  3. PHP 操作 Elasticsearch

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

当一个表的数据量达到五十万以上的时候,使用百分号 % 对 MySQL 进行全文搜索,性能很差,如果跨表的话(一般情况下不用视图),那更差了,所以需要使用 Elasticsearch 来进行搜索优化

Memcache 缓存

  1. URL优化
  2. 页面静态化

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

Memcache 也是一个和 Redis 类似的key-value存储系统,但是Memcache的数据类型比较单一

XML标记语言

  1. XML 语法
  2. XPath 路径
  3. SimpleXML 解析

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

XML,可扩展标记语言,是一种具有结构性的标记语言,与之同类型的是JSON,XML在一些场景中很合适使用,比如爬虫内容采集时,涉及到某个节点下的某些数据

正则表达式


后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

正则表达式,一种文本模式,使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,常用的场景是爬虫内容采集

学习成果

  • 基本掌握 PHP工程师 必备知识,并可以实现企业需求,达到就业水平

第四阶段: 高级深入

MongoDB 大数据数据库

  1. MongoDB 基本和常用命令
  2. 主从复制
  3. PHP 操作 MongoDB

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

mongodb,一个基于分布式文件存储的数据库,在大数据的场景下作为数据库是个不错的存储方案

RabbitMQ 消息中间件


后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

RabbitMQ,一个开源的AMQP实现的消息队列中间件,项目代码解耦的利器,比如高并发场景下,实现异步任务多进程消费

Gitlab 代码仓库


后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

Gitlab,一个项目代码仓库,和 Github 类似,不过Gitlab可以私有化部署在自己的服务器上

Jenkins 持续集成


后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

Jenkins,持续集成工具,当一个项目成型后,后续持续迭代,每一次迭代上线时,有很多上线操作,比如编译,生成缓存文件,发布到多台机器上,如果这些都人工处理话,很容易出错,而 Jenkins 将这些上线操作持续构建,当我们完成需求代码开发后,使用 Git 推送到代码到 Gitlab 仓库,Gitlab 触发 Jenkins,一旦配置后,项目自动化持续集成部署

Kubernetes 容器编排


后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

Kubernetes,管理多个主机上的容器化的应用,结合 Docker 使用,编排容器环境

Kafka 日志中间件


后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

Kafka,一个分布式的消息系统,一般用来做日志聚合的分布式日志系统

第三方接口编程

  1. 支付接口
  2. 配送接口
  3. 微信接口
  4. 短信接口
  5. 邮件接口
  6. 地图接口
  7. 百度接口
  8. 腾讯接口

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

掌握对接第三方接口能力,在实际开发项目中是必备的,像对接支付宝支付、微信支付实现订单下单购买功能

这里多提一嘴,在对接第三方接口的时候,一定要打好日志!一定要打好日志!一定要打好日志!重要的事情说三遍,如果对接的过程不顺利或者事后出bug了,日志是排查问题的利器,当然了,能学到这里的大佬们肯定是知道日志的重要性的

设计模式


后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

能不能写出既实现功能又优雅的代码,全靠对设计模式的理解程序,当然设计模式在面试的时候也是经常被问到,比较常见的工厂模式、单例模式、观察者模式,肯定得随口说来,滚瓜烂熟,并且配合实战例子

网络协议


后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

经常在招聘上看到要求计算机基础扎实,计算机基础是哪些??

网络协议就是计算机基础之一,像面试时经常问到的三次握手和四次挥手的问题答案就在这里

安全防范

  1. XSS 跨站脚本攻击
  2. CSRF 跨站请求伪造
  3. SQL 注入
  4. DDOS 网络攻击

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

安全规范,编程的常识,这里了解一些网络攻击方式,在企业中,正常来说,大多数攻击都会有运维和框架底层帮我们过滤掉,当然了,我们在实现功能的时候也要有意识地处理,最基础就是不要相信任何客户端请求过来的数据,一定要校验

学习成果

  • 熟练掌握 PHP工程师 高级知识,熟练地采用最优方案实现产品需求

第五阶段: 拓展学习

Javascript 入门

  1. Javascript 常用事件
  2. 面向对象及闭包
  3. Javascript 函数调用
  4. Ajax
    1. 发送get/post请求
    2. 用 XML/JSON 传输数据
    3. 跨域请求

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

在第一阶段: WEB 入门,已经学习了基础的 HTML 和 CSS知识, 这里开始拓展学习前端相关知识,向全栈工程师发起冲击

全栈工程师是实现职业自由的一条路径,比如开发一个工具,为某个小众人群服务,基础功能免费,高级功能付费,付费的人多了并且多于公司工资的时候,这个时候你就可以炒老板的鱿鱼了,当然啦,最好的是边工(摸)作(鱼)边维护,赚两份钱更香

HTML 进阶

  1. HTML5

CSS 进阶

  1. CSS3

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

在第一阶段: WEB 入门,已经学习了基础的 HTML 和 CSS知识, 这里继续巩固,并且学习进阶知识,实现特效功能

Vue.js 框架


后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

Vue,构建交互式的 Web 界面的库,前端项目框架,目前开源资源很多,不用从零开始,选择合适的项目并实现自己的想法,首先得学习Vue的基础语法,然后在使用开源项目的过程中,不断学习,善用百度、Google和官方文档

Uni-app 框架


后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

Uni-app,跨平台客户端,号称使用Vue.js开发所有客户端应用的框架,可编译生成网页、安卓、IOS、各类小程序,这简直是全栈工程师必备技能了,当然啦,为了兼容所有客户端,也是有一定的开发难度的,需要熟练使用需要经过大量的实战训练

Hadoop 大数据处理框架

  1. Hadoop 安装与配置
  2. HDFS 分布式文件系统配置
  3. PHP 编写 MapReduce

后续仍会更新学习资源,资源列表使用腾讯文档展示,PHP学习资料:https://docs.qq.com/doc/DYlV1T2ZYUWhHeE5m

Hadoop,可横跨集群机器进行分布式处理大数据集

学习成果

  • 掌握客户端实现技术,具备全栈开发技术能力,可以按照自己的想法开发出网站、App

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容