PHP开发入门有哪些难点?

2022-12-16 奥古斯宏

以下仅我自己的经验之谈,过度自我,请见谅。

我就是他们说的那种“野生程序员”,干开发7年多了,我觉得有一定的经验讨论这个事。

我从初中就喜欢编程,但当时局限于做做html静态页面,还是用table。后来自学半年,基本语法懂了,但是不会框架,也不懂框架,也不懂市场上的程序是怎么开发出来的。后来在两家公司工作两年多,这期间成长很快,不紧是PHP,angularjs、全景、H5、小程序、workerman等也都是这段时间学会的。再后来有了自己的家庭,自己创业两年,现在跟人合伙。我们在三线城市,最近互联网大环境也不好,但我们过得挺行的。

我们现在做产品或外包,后端用PHP或JAVA,前端用layui或vue,其他还有小程序、uniapp等,也做物联网长连接。

我现在的水平,随便入门其他语言,无压力。

比如我前段时间用GO做了一个主机监控系统,网站用的我自己的后台做的,客户端监控是用GO写的, 客户端花了不到几个小时,就调库写出来了。作为产品还不是很完善,但是心里有底,可以慢慢改。

版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。

再比如Python,我也没有系统的学习过,但是最近把人工智能调库做http服务,也是没花几个小时就做出来了。

还用QT写过一个进程守护程序,后来发现是没啥意义和用处,也就当个demo就算了,当时也实现了登陆、进程守护、注册开机自动执行等。但是想着Win下没有像supervisor的工具,对于运行一些脚本不方便。现在发现,go做后台客户端挺香的。

当然,以上两个例子只是我自己搞着玩,我觉得对我来说很有用,所以就做了。我们公司主要还是用PHP或JAVA。JAVA也是经过简单地几个小时的培训,就开始上手写,用若依开发后台。

我认为做PHP开发有四个阶梯,每跨越一个阶梯都是很难的,无论是入门到精通。对于前一个阶梯的人来说,没开窍,就难得很,忽然有一天,开窍了,就跨越下一个阶梯了。这四个难点分别是:

  • 对语法的理解
  • 对程序的理解
  • 对生态的理解
  • 对产品的理解

对语法的理解

新手学习编程语言的时候,(不仅仅是PHP),都要接触很多旧的符号,新的概念。什么叫旧的符号,新的概念呢?比如:

$a = 1;
$b = 2;
$b = $b + $a;

我们管变量叫变量,管一叫一,管二叫二,管加叫加,管等于叫等于。这些东西跟中学学的二元一次方程好像都差不多。但是代表的意义是完全不一样的,就第三行,在数学上就不成立,除非$a = 0,你说对吧。

版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。

再比如对函数的理解,什么叫函数,sin?cosin?什么叫自定义函数?这些对于新手来说,可能很绕,因为这都是旧的符号,新的概念。这些叫法(符号)都是以前听说过的,但其实是完全新的概念,如果用旧的概念去理解,就会犯迷糊。这就是第一次开窍。开窍之后就都懂了,认识到这都是新的概念,不要用旧的理解,要重新学习,要完全接收和吸收。

这一块,我在培训时,其他人遇到过。我没遇到过,我培训两三年前就自学编程了,不仅是PHP,也学过JS的入门和C的入门,所以这一块很好接受和吸收。

对程序的理解

这是我自学没有跨越的东西,参加培训才大概懂了。(但培训也没教什么有用的东西,主要是感觉自己入行了)。

比如这几个变量,几个函数,几个对象,怎么就变成对人类有用的东西了。到底是怎么对人类有用了?不就是顶一个变量,封装一下过程,这对人类有什么用?真实的人类是如何利用这些个破玩意方便自己的?

说白了,不知道怎么写程序。

这个我是在实际开发两三个月后才开窍的,才理解的。

版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。

原来提交表单,然后把数据存起来,再把数据在相应的地方显示出来,就是程序,就是有用。

比如修改个人信息,把个人信息的几个字段用Post提交上来,然后存到数据库,当用户进入个人中心页面的时候,把这些数据显示出来,这就是程序。

别看这点东西很简单,当时有任何一个思路断了,这个功能都做不出来,不知道提交?不知道存储?不知道读取?不知道显示?别以为这个东西很简单。最近我在带一个实习生,做页面的增删改查,甚至都不需要增删改,只要进入页面把文章查出来就行。他都做不出来。他找我说,你看我参考另一个页面写的,连变量名我都都叫“item”了,字段跟数据库也一个一个对了,没有写错,怎么就不显示数据呢?我说你得先把数据查出来,赋给item,然后item就有数据了,就可以在对应的地方显示了。

这其实就是有没有开窍的问题,基本上大多数的程序,都是在干curd,无非是各种各样的C各种各样的U,各种各样的R,各种各样的D。去重的C,缓存的R,自动的D。等等等。

对生态的理解

这里的生态,我只得是狭隘的意义的“库”。你要接受库,要多用库。真的能让你如虎添翼。

从基本的CURL查询来讲,你自己封装真不如用guzzle。

版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。

从基本的图片出来讲,真的不如各类Image库。

从基本的文件操作来讲,flysystem是真的好用。

还有很多特性功能,都能让你很容易的写出健壮的代码,比如二维码生成、表格导出、执行外部命令、压缩包、xml处理、页面导出pdf、支付、登陆授权等等。

要多了解。

对产品的理解

这个阶段要求开发者,要理解用户。以前我做程序,都是把功能做出来就行了。

  • 页面好不好看无所谓,但实际上很重要。
  • 搜索好不好用无所谓,但实际上很重要。
  • 有没有导出无所谓,但实际上很有用。
  • 消息提醒无所谓,也没人看,但实际上很重要。
  • 为什么要一点一点的改这点小功能呢?没意义啊,但实际上很有用。

这些实际上也需要把思维从一个开发者重新定位,到用户的角度,去想象,去体验,去使用,去操作。然后就能发现:

版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。

  • 有时候下拉选择不如单选框舒服
  • 点一下就完成要比点两下完成舒服
  • 能实时收到通知真的会安心很多

结尾

当然,这只是讲一讲开发之路的大体的阶段,实际上每一点点的进步,都是大量的工作实践出来的。而且每个阶段还有不少的坑等着你。

在我看来,做开发是值得的。如果爱好这个行业,那更值得,因为这个爱好可以挣钱。我就很热爱编程,每当学到一个新技术,每当做完一个新项目,就兴奋不已。你知道我是怎么放松的吗,如果我工作压力有点大,生活的有点无趣,我就自己新做一个项目,让自己爽爽。

到现在,我已经自己做了很多个项目了,有开源的,有我打算自己运营的,建设水平都不完善,但是我自己开心,而且有底气慢慢完善起来,比如:

  • ul-disk,打算做成分布式存储系统,对外部开放webdav接口
  • 一个笔记系统,打算做成平台,作者有主页,代替自建博客
  • startsns,一个社区系统
  • ul-ip-door,一个端口转发系统
  • cuda-composer,一个GPU性价比对比系统
  • ul-file-share,一个在线文件分享系统,跟以前的foxsend似的
  • 一个文档系统,支持markdown、代码、文件附件、流程图、脑图、html代码、iframe嵌入在一个页面上混编的系统
  • ulthon_information,一个头条风格的博客系统,后台有文章导出功能,方便把文章发表到其他各个平台上,我这篇文章就是在这上面写的
  • channel_hub,一个内网穿透项目
  • 等等其他

一些没有名字的就是不开源的。大多都是兴起而作。你说他没用吧,我一直自己再用。你说他好用吧,也就是基本能用,很不完善。

我目前一直在做的一个开源项目是ulthon_admin,这个是我自己的后台项目,这个我可以很骄傲的说,值得使用。

总之

总的来说,讲了这么多,是希望你在入门的时候,就要认清楚,好多东西都是新的概念,要接受,要吸收。不要用旧的经验去理解。

版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。

如果要细说入门会遇到什么坑,那就多了,整理不出来。我认为最关键的难点还是思路。希望本文能帮到你。

最近浏览
IP用户:110.166.*.*
7 小时前 Chrome Windows 10
IP用户:101.67.*.*
23 小时前 Generic Bot
IP用户:60.188.*.*
1 天前 Generic Bot
IP用户:222.35.*.*
2 天前 Chrome Windows 7
IP用户:115.205.*.*
2 天前 UBrowser Windows 8
IP用户:183.151.*.*
3 天前 Internet Explorer Windows 8.1
IP用户:54.36.*.*
3 天前 aHrefs Bot
IP用户:36.182.*.*
3 天前 Go-http-client
IP用户:54.36.*.*
3 天前 aHrefs Bot
IP用户:220.181.*.*
4 天前 Baidu Spider
IP用户:117.69.*.*
4 天前 Internet Explorer Windows XP
IP用户:136.243.*.*
4 天前 DataForSeoBot
累计浏览次数:764
评论
点击登录
phpreturn,PHP武器库,专注PHP领域的项目和资讯,收录和介绍PHP相关项目。
最近浏览 点击登录
累计浏览次数:119866
一周浏览次数:3136
今日浏览次数:311

本站所有权利归 phpreturn.com 所有

举报/反馈/投稿邮箱:phpreturn@ulthon.com

鲁ICP备19027671号-2