楼主问题回复正文拉倒文末哦!!
我来回答一下吧。
首先介绍一下:
我还没有工作,php也不是精通,现在大二在校学生,计算机系软件工程专业。在此我仅是讲一下我的经历,对此问题,如果文末能给点自己的看法,尽量给点。
初识:
当初最最早的时候接触的时候,应该在初中吧。因为“挂Q”,年少嘛,对于这些有兴趣。后来,又因“免流”,接触“虎LvLin”论坛(很有爱的一个网站,站长很好)。当时还很喜欢玩论坛(柯林建的站),很多论坛有签到功能,当时一点不会,请一个网友写了个“签到机”,说的10元钱(13,14年的时候,当时高中都不是,能有多少钱?? (笑哭)),准备买个10元的话费充值卡给网友,结果没有这个面值的,也没给成,网友也把代码给我了,然后,代码能有多简单呢??
function post($url, $data = '')
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_HEADER, 0);
if ($data != '') {
$post_data = is_array($data) ? http_build_query($data) : $data;
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_URL, $url);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
源代码肯定是记不到的,但核心代码就这么点,再加点URL,POST。就能应对柯林程序的签到了。(当时柯林程序,URL 中有sid用户标识,所以也不用Cookies)
学了一点(算是半个入门)
当时,在前文提到虎lvlin混,慢慢学了点PHP,怎么学习呢?论坛有很多人发他们自己写的代码,都是一些“小物件”,比如QQ空间自动点赞,我就把他们下载到手机里面,保存起来。当时我可没有电脑,只有一个几百块的3G手机,屏幕也不是很大。
那我怎么写代码呢??用手机写!!真的,但我不是很会呀,怎么办??复制别人的代码,修修改改。就能用了。
还有很多细节,就不详细说了。
然后,高一,高二上的时候,我用手机写了一个简易论坛,能发帖,能回复。现在想来,当时的MySQL表设计得真是一踏糊涂。
【哦哦哦,忘了补充,在此之前,真的只是会一点PHP,MySQL真的一点不会,为什么呢??现在想来,其中很重要的两个原因:1. 根本没人教,怎么学? 2. 就一台手机,3G的,小屏幕的,怎么学?但后来在此情况下,还是学会用了,我想很重要的一个原因,便是有wap-phpmyadmin,可惜现在也找不到这个图片了。】
估计还是不足以描述当时的艰辛,这么说吧,因为当时因为在虎LvLin论坛解除的很多都是采集,自己也比较感兴趣,所以当时会的哪些PHP函数,我到现在都记得。
file_get_contents();
file_put_contents();
preg_match();
preg_match_all();
fopen();
fwrite();
fclose();
CURL当时是直接复制的比人的现成的代码。
还有一些其他函数,但我最记得清楚的,就这些。但任然可以写出一个采集小说的采集站。
当时不会HTML,CSS。更不要说天方夜谭的JS,那是什么玩意~?
对了,高二买的电脑。也即现在手中正在码字的这一台。
高考结束
闲着也是闲着,开始学HTML,CSS。好了,终于开始入门了。大致清楚有哪些标签了,知道他们是用来干什么的了。
进入大学
不用说,我感兴趣的大概也只有计算机了(我可真是按照兴趣选的,没考虑未来 汗),于是挑了有计算机专业的学校。大一上的唯一一门语言是C语言,好了,如鱼得水,好不畅快!!!
举个例子:
switch()
{
case '1':
break;
case '2':
break;
.......
}
为什么要加break;??
上C语言,哦,我懂了,原来不加的话,它也会执行下面的case内容!
看出来了吧??我上C语言的时候,可不只是上的C语言,我会类比PHP的语法。
所以,加上大一讲的C语言,所以很多东西我一点就通。
大一上我也才开始学习C语言,期间有不少人问我C语言相关的东西,QQ上截图把问题发给我,而我一眼就看问题来了(此处真的要强调一下,不是炫耀,喷子住嘴)因为他们的问题,着实简单过头了。
比如:
printf写成prnitf
少了一个}
while()
{}这里没有分号
do {}
while();这里有分号
这些问题难吗? 不难,我犯过吗?也许。截图我就能看出来,为什么??因为我会看报的错,也看得懂报的错呀!!!
【这里得感谢我的初中英语老师@李j和高中老师@Ms.Chen,到这里又得吹一下:我从初中换了Luna(李j老师)开始,到大学每一学期(目前为止)的英语老师都是美女!!!!!!!!!!!还有什么理由不学好英语呢!!!!!!】
然后到了前一周的时候,了解了PHP的设计模式(或许不应该叫PHP的设计模式,因为每个语言的设计模式差不多都是那些):单例模式,工厂模式,观察者模式等等。
在此之前,我是真的一点不知道,原来还有设计模式这一点想法呀。
也是前几周,我也才弄懂PHP的composer,弄懂自动加载类的实现。
为什么是前几周,因为我学PHP没有老师教,没花过一分钱买书。
这点参考我的博客:理解PHP composer 如何自动加载类,以及使用https://packagist.org/ 仓库 - 迷思~雨misiyu.cn
为什么要用单例模式?很明显的一个方面是在一个项目中用到的数据库,我们不能每次使用都new一个,那很浪费资源,所以单例就很重要了。
好了,说了这么多,回到楼主的问题上:存在的即是合理的。知乎上之前有很多人都在讨论现在大学教C语言都还在用vc++6.0(不特殊处理,win10都不兼容滴),但就是很多大学在用(包括我在学的时候)。但存在的即是合理的。
同样,PHP出现至今,没消失,说明他就是合理的。
2. 目的。楼主会一门编程语言吗?是打算以PHP入门??还是打算以PHP找一门工作??
如果会一门的话,那就去学吧,因为语言真的是相通的,仅是语法有所差异。
如果以PHP入门,我也支持,因为相比于C语言,PHP入门很简单,很容易充满成就感。学习的成就感真的很重要,和兴趣一样重要。但,你得明白,PHP将很多底层实现都封装了,这意味着你得遇到很多坑,而填这些坑很重要。这也就是为什么PHP入门容易,精通难,等你把很多坑填了,你真的会理解那种明显可以感觉自己技术提升是 什么感觉 !!!!!
如果想找工作,这一点我不作评论,我还没工作呢!(笑哭)
3. 兴趣。最好的老师,是兴趣。这一点对任何想要学习新事物的人来说都成立!!!!
--------补充的内容--------
哦,大一上学期还没过完,我就学会盲打了。
大一下假期,自己在家看文档,入门了python。
大二上假期,在家看vue,写了个小说网站,很简单一个:无道书屋book.misiai.com
哦,后台是php。
为什么??因为兴趣,
所以我去学,加上目前没有工作压力,我基本没有任何成本。
所以,楼主学习php,python这种脚本语言,想要入门,真的不要太简单。
加油!!
--------补充的内容--------