1. 应用场景

主要用于技能纵横发展,从而更好地发展。 成为T型人才。

2. 学习/操作


PHP 语言之所以能有今天的地位,得益于PHP语言设计者一直遵从实用主义,将技术的复杂性隐藏在底层。

PHP 语言入门简单,容易掌握,程序健壮性好,不容易出现像 Java 、 C++ 等其他语言那样复杂的问题,如内存泄漏和 Crash ,跟踪调试相对轻松很多。

PHP 官方提供的标准库非常强大,各种功能函数都能在官方的标准库中找到,包括MySQL、Memcache、Redis、GD图形库、CURL、XML、JSON等等,免除了开发者到处找库的烦恼。

PHP 的文档非常棒,每个函数都有详细的说明和使用示例。第三方类库和工具、代码、项目也很丰富。开发者可以快速、高效地使用 PHP 编写开发各类软件。到目前为止市面上仍然没有出现比 PHP 更简单易用的编程语言。所以 PHP 的前景还是很广阔的,与其纠结于编程语言的选择,不如好好地深入学习使用 PHP 。

作为一个资深的 PHP 开发者[不是本人],在技术上给各位 PHP 程序十点未来的建议,希望对大家有所帮助。

1. Composer

第一点就要提 Composer ,自从 Composer 出现后,PHP 的依赖管理可以变得非常简单。程序内依赖一些类库和框架,直接使用 Composer 引入即可,通过使用 composer update 安装依赖的包。解决了过去加载外部库的各种难题。Composer 也有国内镜像,速度非常快。现在绝大部分PHP开源的项目都提供了 Composer 的支持,建议大家在项目中使用 Composer 来解决 PHP 代码包管理的问题,不要再使用下载源码、手工 include 的原始方法。

Composer - 学习/实践_穿素白衫的少年的博客-CSDN博客

Composer 安装 Laravel - 学习/实践_穿素白衫的少年的博客-CSDN博客_composer 安装laravel

Composer 自动加载机制 - 学习/实践_穿素白衫的少年的博客-CSDN博客_composer的自动加载机制

Composer 使用的5 个小技巧 - 学习/实践_穿素白衫的少年的博客-CSDN博客_composer 使用技巧

2021-05-27 - PHP - 三种工具PECL PEAR Composer的区别_穿素白衫的少年的博客-CSDN博客

2. PHP7

PHP7 版本对 Zend 引擎做了大量修改,大幅提升了 PHP 语言的性能,使用 PHP7 可以使你的程序性能瞬间翻倍。即使是 WordPress 这样重量级的软件运行在 PHP7 都能有上千 QPS ,相当于一台服务器每天就能处理 8000 万次请求。使用 PHP7 ,做好 MySQL 优化,使用 Memcache 和 Redis 进行加速,这套技术架构完全可以应对相当大规模的系统。除了某些亿级用户的平台之外,一般规模的系统完全没有压力。

PHP 7 新特性 - 收集_穿素白衫的少年的博客-CSDN博客

另外,现在已经是PHP 8.x,其实就是最新版本,应该保持学习态度。

3. PSR

PSR 是 组织制定的PHP语言开发规范,约定了很多方面的规则,如命名空间、类名

规范、编码风格标准、Autoload、公共接口等。

现在已经成为PHP技术社区事实上的标准了。很多知名的 PHP 框架和类库都遵守了 PSR 规范。PHP 开发者应当学习掌握 PSR 规范,在开发程序时应当尽量遵循 PSR 规范。

Yii 2 编码规范/风格[亦是PSR]_穿素白衫的少年的博客-CSDN博客

PSR-11- 学习/实践_穿素白衫的少年的博客-CSDN博客

4. Laravel

最近几年最火热的 PHP 框架,官网号称是为 Web 艺术家设计的框架,可见这套框架有多优雅。

Laravel 提供的功能模块丰富,API 设计简洁,表达力强。而且它的社区非常活跃,代码贡献者众多,第三方的插件非常多,生态系统相当繁荣。 Laravel 底层使用了很多 symfony2 组件,通过 composer 实现了依赖管理。如果还在纠结使用什么PHP框架,不如选择 Laravel 。 Laravel 提供的命令行工具基于 symfony.console 实现,功能强大,集成了各种项目管理、自动生成代码的功能。

https://blog.csdn.net/william_n/category_9543352.html

Yii在国内也有不少项目,需要维护,不过个人认为,等到用到的时候,再去查看文档,应该很快就能入门, 因为随着你的学习越来越深入,你会发现以前的技术,如编程语言,编程语言开发框架,入门到中级程度,其实没有很大的难度,如果想要完全掌握,达到高级及以上程度,就需要额外的很多知识。

5. Phar

PHP5.3 之后支持了类似 Java 的 jar 包,名为 phar。

用来将多个 PHP 文件打包为一个文件。这个特性使得 PHP 也可以像 Java 一样方便地实现应用程序打包和组件化。一个应用程序可以打成一个 Phar 包,直接放到PHP-FPM 中运行。配合 Swoole ,可以在命令行下执行 php server.phar 一键启动服务器。PHP 的代码包可以用 Phar 打包成组件,放到 Swoole 的服务器容器中去加载执行。

6. Swoole

PHP 还局限于做 Web 网站吗?

No ,如果你还不知道 Swoole ,赶快去了解一下吧。

Swoole 的口号是重新定义 PHP 语言,Swoole 是一个异步并行的通信引擎,作为 PHP 的扩展来运行。Node.js 的异步回调 Swoole 有,Go语言的协程 Swoole 也有,这完全颠覆了对 PHP 的认知。

使用 Swoole PHP 可以实现常驻内存的 Server 程序,可以实现 TCP 、 UDP 异步网络通信的编程开发。

过去PHP只能做一个 Web 网站,现在使用 Swoole 可以做 Java 、C++ 才能实现的通信服务,比如 WebSocket 即使通信、聊天、推送服务器、RPC 远程调用服务、网关、代理、游戏服务器等。

如果你想用 PHP 做点 Web 系统之外的东西,Swoole 是最好的选择。

Swoole 框架 - 学习/实践_穿素白衫的少年的博客-CSDN博客

Swoole - 学习/实践_穿素白衫的少年的博客-CSDN博客

Swoole 安装 [Windows] - 学习/实践_穿素白衫的少年的博客-CSDN博客_phpstudy swoole windows

Swoole 安装 - 基于Linux[centOS]/Docker_穿素白衫的少年的博客-CSDN博客

7. HTML5

作为 Web 前端新一代标准,HTML5 未来前景非常广阔,市场需求量非常大。

从 PC 网站、B/S 企业软件、移动端网页、APP,这些领域都在拥抱 HTML5,掌握了 HTML5 才能在下一波互联网技术大潮中存活下来。

HTML - 相关汇总_穿素白衫的少年的博客-CSDN博客

8. Vue.js

PHP 程序员除了写后台程序之外,还有很大一部分工作在展现层,和浏览器前端打交道。

2017 年你还在用 jQuery 操作 DOM 实现界面渲染吗?已经完全 out 了[如果你是在短期维护老项目,那自另当别论]。现在用 Vue.js 可以非常方便地实现数据和 DOM 元素的绑定。通过 Ajax 请求后台接口返回数据后,更新前端数据自动实现界面渲染。2017 年再不学 Vue 就晚了[个人观点,学习对任何时候,都不会晚,但的确有更适合的时机,任何知识,技术都是如此]。

如果你不光要写 Web 程序,同时还希望兼顾 Android 、IOS 、PC 客户端等平台,React Native 是一个不错的选择。

Vue - 学习/实践_穿素白衫的少年的博客-CSDN博客

Vue CLI - 学习/实践_穿素白衫的少年的博客-CSDN博客

React 还是Vue:这是一个问题?_穿素白衫的少年的博客-CSDN博客

2021-04-19 - React的单向数据流与Vue的双向绑定_穿素白衫的少年的博客-CSDN博客_react和vue数据流
基于 Laravel + Vue 构建一个类似 Twitter 的 Web 应用_穿素白衫的少年的博客-CSDN博客

9. C/C++/GO

任何技术有优点就有缺点,PHP 作为一门动态脚本语言,优点是开发方便效率高,缺点就是性能差。

在密集运算的场景下比 C 、 C++ 相差几十倍甚至上百倍。

另外 PHP 不可以直接操作底层,需要依赖扩展库来提供 API 实现。

PHP 程序员可以学习一门静态编译语言作为补充实现动静互补,C/C++/Go 都是不错的选择。

而且静态语言的编程体验与动态语言完全不同,学习过程可以让你得到更大的提升。

掌握 C/C++ 语言后,还可以阅读 PHP 、 Swoole 、 Nginx 、Redis 、 Linux内核 等开源软件的源码,了解其底层运行原理。

现在最新版本的Swoole提供了C++扩展模块的支持,封装了Zend API,用C++操作PHP变得很简单,可以用C++实现PHP扩展函数和类。

个人而言,目前正在学习Go,原因很简单,看好Go,而且公司目前的项目中,也有Go项目要维护。

C语言 - 介绍_穿素白衫的少年的博客-CSDN博客

C语言 - 学习实践_穿素白衫的少年的博客-CSDN博客

PHP 执行Linux命令/C语言程序 - 学习/实践_穿素白衫的少年的博客-CSDN博客

10. 深度学习/人工智能

互联网的未来属于人工智能,如果你还不了解机器学习、深度学习、人工智能这些概念,那你需要尽快学习了解一下。

现在互联网巨头们都在布局人工智能,包括 Google 、 Facebook 、微软、亚马逊 和国内的百度。

虽然现在还处于科学研究的阶段,但未来互联网的各个领域都会应用到人工智能,包括自动驾驶、大数据分析、网络游戏、图像识别、语言处理等。

当然现在普通的工程师可能还无法参与到人工智能产品中,但至少应该理解深度学习/人工智能的基本概念和原理。

人工智能AI - 学习/实践_穿素白衫的少年的博客-CSDN博客

个人目前也只是了解一点概念,没有深入了解,

但是个人的一点观点, 作为开发工程师,不要上来给自己设限, 贴标签。

后续补充

...

3. 问题/补充

TBD

4.参考

除了学习php,还应该学什么?-阿里云开发者社区

后续补充

...

除了学习PHP,还应该学什么?相关推荐

  1. 35岁自学c语言,我35岁了还能学编程吗?年龄与编程学习有什么关系?

    原标题:我35岁了还能学编程吗?年龄与编程学习有什么关系? 程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到30岁,然后就需要转型,就像<程序员技术练级攻略>这篇 ...

  2. python自学多久可以找到工作-25岁从零开始学习python还能找到工作吗?

    相信近期大家经常可以看到培训机构推出python相关的课程,随着人工智能技术逐渐进入大众的生活,这种编程语言以简单.应用广泛的优势,成为了进入人工智能领域的条件之一.对于精通python开发的人,在职 ...

  3. 32岁学python 人工智能_python深入学习好还是直接学人工智能好?

    python深入学习好还是直接学人工智能好 这个其实是理解上的一个偏差,人工智能是一个领域,而深度学习是门技术 有很多人说不会机器学习,深度学习无法实现人工智能,这句话放在5-6年前完全正确,而放眼现 ...

  4. Web前端饱和了?还能学Web前端吗?

    这几天在知乎上看到这么一个问题:"Web前端现在怎么这么多人?",题主在问题描述中不停的阐述着自己找工作时的艰辛和困难,抱怨投出的简历犹如石沉大海,连个泡都不冒,自己连面试通知都收 ...

  5. Java前景如何?现在还能学Java吗?

    Java是目前世界上最流行的计算机编程语言,是一种可以编写跨平台应用软件的面向对象的程序设计语言.随着互联网的快速发展,对于程序员的需求量很大.那么Java前景如何?新手还能学Java吗?本文小千给大 ...

  6. 自学python能找到工作吗-25岁从零开始学习python还能找到工作吗?

    相信近期大家经常可以看到培训机构推出python相关的课程,随着人工智能技术逐渐进入大众的生活,这种编程语言以简单.应用广泛的优势,成为了进入人工智能领域的条件之一.对于精通python开发的人,在职 ...

  7. 人工智能学c语言还是python-python深入学习好还是直接学人工智能好?

    python深入学习好还是直接学人工智能好 这个其实是理解上的一个偏差,人工智能是一个领域,而深度学习是门技术 有很多人说不会机器学习,深度学习无法实现人工智能,这句话放在5-6年前完全正确,而放眼现 ...

  8. 给学弟学妹肝的一篇Java学习路线,保证学弟学妹们大三大四的时候顺利找到实习 Offer

    写在开头的闲言碎语 2020年过去了,对很多人来说,这一年经历了太多太多,可能是十年来记忆里比较浓墨重彩的一笔.过去的一年里,"熬"算是这个阶段我的关键字,确实太多时候就要放弃,好 ...

  9. 精准医学中的深度学习和影像组学

    影像科正在经历一种范式转变,即使用人工智能与机器集成以及深度学习与影像组学更好地定义组织特征,从而实现计算机科学与影像学的共生关系.研究的目标是使用集成的深度学习和具有影像学参数的影像组学来为患者进行 ...

最新文章

  1. Quartz.NET基础知识概述
  2. 2018-2019-1 20165223 20165218 实验二 固件程序设计
  3. hdu 4417 Super Mario 划分树+二分
  4. mybatis mysql自动连接数据库_如何用mybatis链接数据库
  5. 求任意大小矩阵的转置矩阵
  6. VirtualBox复制虚拟机
  7. 大数据之-Hadoop之HDFS的API操作_查看文件的详情---大数据之hadoop工作笔记0061
  8. huffman算法c语言程序,哈夫曼算法构造代码
  9. 局域网连接MYSQL8.0报错1251的解决记录
  10. LabVIEW Arduino RS-485智能农业监测系统(项目篇—4)
  11. 安信可nbiot模块_安信可无线模组
  12. C++异常处理底层机制详解
  13. pythonwhile冒泡排序_python冒泡排序
  14. chrome浏览器调试时阻止图片的加载
  15. 我的摩旅经验分享之致新入坑摩旅的老同学刘
  16. Zookeeper和Kafka环境搭建总结
  17. 往事如烟 - 老钟18
  18. 铁匠smith_铁匠镇的皱纹地图
  19. 【学习笔记·1】无刷直流电机基础
  20. BI与ClickHouse:探索式BI的OLAP技术演进之路

热门文章

  1. 快包_分治法求解凸包问题
  2. Android无法自动创建USB打印机节点/dev/usb/lp0【转】
  3. fill函数与memset函数比较
  4. h265、h264的RTP包封装区别
  5. 多线程爬取镖局网商标信息
  6. vue v-for渲染数据出现DOMException: Failed to execute ‘removeChild‘ on ‘Node‘: The node .....
  7. 达人评测 2022款联想ThinkPad T16和T14区别是什么,哪个好
  8. 第三章-Python中的数据类型
  9. 现在最实用的搏击术是什么?
  10. 在linux下怎么安装.bin的文件