phper的困惑
php的进阶这个问题应该是很多新人学习php一段时间后都要面临的问题。
也许在某一刻你突然觉得php本身该会的你都会了,但又好像有点模棱两可。
想提升但却又无从下手,虽然是你的苦恼,但是在这个时候,我要恭喜你,恭喜你到达金丹期巅峰,可以准备突破金丹凝练元婴了。
如何突破php金丹巅峰凝练元婴?
之所已phper大多会有这样的疑惑,是因为phper大部分都非科班出身,大学系统的教育会有比较扎实的编程理论基础的学习,但是phper从一开始就在学语法,学开发,对很多东西都是一种知其然,不知其所以然的状态。初学者甚至一些浸淫此道多年的老开发都对编程本身的基础知识比较匮乏。
要进阶突破,不妨从以下方面入手:
基础知识方面:变量、类、对象、实例化、命名空间、接口、trait、pdo等等。明确基础概念。
使用框架:自动加载、依赖注入、控制反转、门面、契约、模型、数据仓库、魔术方法、开发模式等等。不妨去试着读懂框架运行到底干了什么,这也有助于你对框架的应用。
架构方面:系统架构,软件架构等等。我们常说架构师,潜意识里会觉得架构师是一个很高大上的职业,实际上我们日常项目中,架构本身就一直存在,只是在小项目中并不那么明显,或者说根本没有可以去强化这个概念,简单的架构已经融入我们的血液里了。举个最简单的例子,不使用任何编程语言,写一个html或者txt文件放到服务器让别人可以访问就是一种架构。
在这里做个小测试,有多少人看到说php变量想到的事 $xxx的?若果被我说中,自觉点赞加关注,我告诉你错哪里了。如果没说中,跪求点赞加关注(O(∩_∩)O)。
通过对基础知识的梳理,升华对编程语言与编程的理解,这里需要将编程语言跟编程区别对待。编程是一种思想,任何一种编程语言其实都在做着大致相同的事情。if……else……,for……,while……,do……while……,学会编程就是学会编程的思想,这时候我们用伪代码来书写业务逻辑,以快速梳理自己的思路。编程语言是一种具体的手段,比如用php语言编程,基本就该直接编写调试了。
php是一本可以突破到化神期的神级功法,卡住我们突破的瓶颈不是我们的功法除了问题,而是我们对武道的理解没有达到应有的境界。提升境界,需要对武道(编程)有更高深的理解。忽略了境界,舍本逐末去追求一本功法(一门语言)的技巧,实乃误入歧途。如果你已凝结元婴或者达到大乘或者化神期,我想应该会与我有共鸣。
个人经验
我本人也是纯phper,为什么是纯呢?因为只会php,如果用php,从前端到后端全部搞定问题不大,但是离开php,啥也写不了。
曾经的我,在自己金丹大成之际,也是被卡在金丹巅峰很久,大约1-2年的样子,每日都在浑浑噩噩的写代码中度过,有一段时间写代码几乎成了一种体力劳动。后来意识到自身的问题,开始寻求突破的契机。
期间尝试去接触java,后来又转身粗浅的涉猎了一些python,但都没坚持下来,浅尝辄止。日常工作总是会挤占我们大量的时间,想想还是继续钻研php。
于是,我选择自己是去做了php快速开发工具,主要是自动生成所有类型的数据表格、制作简单的统计报表、配置等,搭配后台、用户认证和授权,这样我们日常做任何项目就只剩下手写核心的业务逻辑跟自动生成配置实现不了工作。先后迭代几版,在这个过程中遇水搭桥,遇山开山,个人感觉进步还是很大的。
如果有时间时间精力,还是建议多学至少一门语言,两项印证,对武道(编程)之路大有裨益。
目前,我正在做的是将其做成laravel的composer扩展包,用扩展包的形式安装使用,在做的过程中,遇到各种题,这时候发现自己对原有的知识有了更深的认识,尤其设计模式,以前因为使用框架的缘故,照猫画虎,拿来即用,确实没怎么关注过,做composer扩展包的过程中才开始去琢磨,目前略知皮毛,真的是有一种拨开云雾见月明的舒爽感。我想这也许就是我又一个突破的契机,成功悟出也许有朝一日可以达到大乘期,甚至更进一步,可以体会化神期的境界。
PM:强调一下,数据表格不只是增删改查,生怕又被人误会觉得又是一个做自动生成增删改查的。贴几张正在做的一个小项目的截图给大家赏评,虽然看着确实像是在做增删改查的(^_^)。以下:
![7c8c07ea442bbadf6190dc800de631c1.png](https://i-blog.csdnimg.cn/blog_migrate/ce06a6c6d242f77ec967c8d8b1049d7e.jpeg)
![ccb31157669813e03df47f443e1f432d.png](https://i-blog.csdnimg.cn/blog_migrate/9464daa0c76120b355f4a0f42ab36515.jpeg)
![19a014d2994f4fc55c4e86ebeef0b80a.png](https://i-blog.csdnimg.cn/blog_migrate/a128eeba46a3ee5edd6b1b85a3b30717.jpeg)
![8fd482d069f44a6c4d764806d8078814.png](https://i-blog.csdnimg.cn/blog_migrate/e9f80aa2b86c3d42bffafe586fcf5acf.jpeg)
文章review了3遍了,还是发现了bug,看看时间,写这篇文章用了3个多小时,如果你读到这里,请道友不吝点赞、评论、分享、关注,助我度过自媒体新手期(抱拳)。