您好,欢迎访问唐山市现代电脑职业技能培训学校官网!

151 7556 5189

全国咨询热线

您现在所在位置: 主页 > 行业动态 > 程序开发

如何深入学习php,成为php高手?

更新时间:2022-12-06

在文章的开头,我想问一句话:PHP做什么?

因为这是面试中会问的问题,虽然看起来很简单。

回答做网站的,也就是简单建站的水平。

对PHP有一定的理解。

回答后端处理,有更深的理解。

要学习同样的技能,你必须首先知道这项技能是做什么的。说到这里,我想每个人都会简单地说这是一个网站,因为PHP在WEB该领域应用最广泛,大多数网站都被使用PHP做的。准确的说PHP是网站的后端开发,其实我这么说是不正确的,PHP只做后端开发,不仅仅是网站。就像现在火一样APP也可用于开发PHP后端处理。

PHP与其它语言相比,相对简单,相对容易上手,更适合零基础的人学习,但正如我上面所说,PHP只完成一个网站或系统的一部分。

运行网站或软件系统可分为前端页面、后端程序、数据库、linux。处理后端PHP只占四分之一,PHP其实东西本身并不多,真正多的东西都在PHP除此之外,简单的掌握PHP做什么产品可能连工作都找不到。

关于学习PHP,我想谈谈我的心路历程:

前端:

任何网站都必须是可见的和可用的。任何网站都可以没有数据库或后端程序,但必须有前端页面,这也是最早的网站形式—— 静态页面只能显示文本和图片。

掌握静态网页的制作技术是学习和开发网站的前提。学习包括 HTML,css,javascript,可直接使用浏览器运行。

HTML负责网页的结构,用它来规定网页排版中哪一部分是文字,哪一部分可以放图片、音频文件、视频文件显示在网页中的位置等。

CSS这些文字、图片、视频等信息可以有一定的合理美观风格,可以定义文字的大小、颜色、图片的大小等。

javascript可以让网页与人互动,就像你登录网站一样,点击登录按钮跳转,把鼠标放在菜单上,菜单会自动显示下拉,访问淘宝,把鼠标放在产品图片上,图片会放大等等。

我的学习技巧和经验

我是零基础学习开发的。我甚至没有上大学,也没有系统地学习计算机专业。我第一次开始学习html时,我是以w3c手册是一本学习教科书,但你读得越多,你就越觉得里面写的东西很琐碎。手册介绍了很多标签,标签有很多属性,它们代表了什么意思。

就像下面表格的一些标签一样,这是手册给出的概念。看完之后,我似乎明白了,不太明白。看完之后,我不记得了。回想起来,我还是很困惑,好像什么都没学到。

那时,我开始焦虑起来。我无法想象我甚至学不到基本的东西。经过一两天的思考,我觉得我还是太浮躁了。我决定重新开始,开始尝试。我以前只是看着它。这样开始后,模仿别人写的,操作浏览器显示什么效果,删除属性后看看反应是什么。我笨拙地敲了敲每一个标签,每一个属性,一个接一个地看到效果,我明白手册中描述的概念是什么。

前端知识相对锁定,逻辑性不大。html和css任何元素标记都应该自己练习。大多数新手觉得很难学习,不理解手册的概念,主要是因为学习方法错误,懒惰是主要原因,因为不练习,只看概念是没有用的。

因此,克服懒惰的习惯,开始写作HTML标记,操作后看效果,这样才能真正掌握。

然而,我建议初学者先看视频,因为操作效果可以看到,手册作为工具。

关于html和css你不需要完全记住标签和属性,因为它没有多大意义。在你做了一个小项目之后,你只需要记住常用的,其他的都有印象。当你使用它们时,你可以想到它们,然后检查手册。

当你完成学业后,你必须做一个简单的小项目。当你学习时,你的目标是分散的知识点。最后,你应该整体使用这些东西。

下图是我去年学习的html最后自己做一个小页面项目:

严肃说来,HTML编程语言是否被认为是真实并不重要——它仍然是一项需要学习的新技能。尝试新事物是可怕的。当你处于这种未知的弱势地位时,你也需要勇敢地前进。不要急一下子学会东西。你应该冷静下来,一点一点地保持坚定的态度。此外,失败与不确定性无关—— 事实上,它们都是成功的重要组成部分。

再说下js

我已经在上面解释过J了avascript,(简称js),但为什么要在这里强调js呢?

因为很多人说不用学js,直接学jquery(简称jq)就行了。什么是jqjq是一种js框架,它可以使开发速度更快,有很多功能和特效,直接使用。

但我不同意光学jq。如果你想解决更复杂的问题,变得更有竞争力,或者只是更好地学习和理解使用jq。所以请学习js!

上面提到的j是js的框架,其本质是js写的。js理论上,可以完成的jq也可以完成,但不是100%可以处理,而且jquery能做的,js 100%能完成。jquery只是工具操作简化,底层还是js。只有向原生学好js在此基础上,我们可以更好地学习jquery或者其他框架,处理前端问题。

后端:

我们到此为止PHP。如果说HTML和css是可见的部分,所以PHP是看不见的部分。它负责处理后面的数据,然后返回给用户。

当网站从最初的静态页面发展到现在的后端程序时,网站就有了业务逻辑。简单地说,就像计算器一样,您在前端输入数据,然后点击提交,PHP为您处理操作,然后返回前端,此时您将看到结果。需要特别说明的是PHP它不能直接在浏览器中运行,它需要Apache环境支持,放在里面Apache在服务器中,然后使用浏览器进行访问,这需要在学习过程中进行配置,非常简单。

我的学习技巧和经验

学习PHP我推荐《PHP教程从入门到精通,做PHP开发,包括了解的学生,可能都知道,很有名。这个教程几乎是每个教程PHP学生必须阅读的高质量教程。网上下载这个教程很多。其实不仅仅是出了这个教程,还可以顺便搜索一下每个学习网络。每个学习网络上还有亲自制作的其他教程。

我学习PHP慢慢地,随着解释知识的增加,不懂的问题开始出现,一开始我只是用大脑记住,想以后解决。但后来回想起来,我发现有些问题我记不起来了。慢慢地,我不明白的问题越来越多。我害怕忘记我不想错过任何我没有学到的东西,即使是一个简单的问题,我可以通过思考来理解。如果我忘记了,我以后可能再也记不起来了。这对我来说是一个难以弥补的损失。我是一个完美主义者。

我记得学习html时间的教训,或者不能懒惰!我建立了一个文本,特别记录了我不理解的,难以理解的,还有各种暂时没有解决的问题,甚至偶然想到的问题,都被写下来。

当我学完PHP之后,回头看,数一数大概100篇,这篇文章我还是保留着:

我希望你在学习的过程中也能养成记忆问题的习惯,好的记忆不如坏的笔好,因为学习的过程将不可避免地遇到很多问题不理解,但你不能总是等待这个问题解决,你需要继续前进,很长一段时间,你可能会忘记。

每当你学到脚本的困难,试着告诉别人,你可以清楚地解释你真正理解。

除了记住问题,我还写下了老师说的知识,用自己的话来理解自己的话,就像再次告诉别人一样。记住,用你自己的话写,忘记老师的原话,这样别人的知识就会转化为你。

所以,这是我当时写的笔记:

写在这里,不要觉得我太麻烦,太慢,记住,慢慢思考,以后更快!

合理的慢不是缺乏速度,而是反思和纠正太快。慢是一种方法。尊重规则,冷静下来,追求质量,做事,严格有序,卓越。

实践也是加强知识理解的过程

不要只看教程和学习知识点。最重要的是练习。包括我在内的大多数人曾经向别人学习,但他们自己做的时候很难继续下去。

看完教程掌握了内容后,可以根据老师讲的例子或者自己构思一个应用或者一个使用场景,然后从头开始写。你会发现很多问题,加深对教程知识的理解。这样,通过不断的练习和反馈,你的发展技能很快就会提高。

MySQL数据库

随着网站技术的未来发展,人们需要网站处理和存储更多的数据,并满足现实生活中的业务逻辑。

什么是数据库?从字面上说,数据库是存储数据的地方。它可以是一段文本、一张图片或一个文件URL地址等等。例如,当您想浏览一篇文章时,单击文章标题,此请求将跳转到PHP文件那里,PHP然后从数据库中取出你想读的文章。

PHP与数据库密不可分,PHP后来,在网站开发中,更多的任务变成了操纵数据库。数据库有很多种。准确地说,我们的数据库是mysql仅仅因为数据库php和mysql关系很好,两者完美搭配。因此,MYSQL数据库是我们学习PHP开发和学习的数据库。

我的学习技巧和经验

学习mysql当时,我也采用了学习PHP学习方法:记住问题,写笔记。

还是想强调:用自己的话写,忘记老师的原话,这样别人的知识就会转化为你。

同样,这也是我写的:

这应该通过做一个小项目来加强。例如,做一篇文章或商品管理系统,做常用的添加、删除和检查。就像下面添加这个商品功能页面一样,它只不过是使用它PHP将前端用户填写的数据存储到数据库中。

编程在最初的几天里只是一件有趣的事情,然后大多数人都厌倦了学习。所以兴趣并不能完全成为编程的动力。通过项目开发,你会发现更多的编程动机是生活中的实际需求,以及通过高强度、高密度的学习和思考来解决需求后的强烈成就感。

框架:

说白了,框架是一个程序组件结构,帮助你完成了一些功能。

基本上,当公司开始真正的项目时,它使用框架来开发,这可以使你的开发更快。

为什么?让我们谈谈网站开发。例如,如果你想在网站上做验证码功能,你需要从0开始写作。同样,写一个文件上传程序,你需要从0开始写作。

这个时候你会问,我做什么不都是要写的吗?

但你忽略了一个问题,验证码证码、上传文件等是网站中几乎不可或缺的基本功能。每个网站都应该使用它们。此时,您可以编写这些常用功能并包装它们。使用时直接调用,大大降低了代码的重复性,这实际上是一个框架。

更不用说做一个框架了,因为完成一个好的框架不是一项简单而容易的工作,而且需要更高的知识和技术水平。因此,我们要学会使用别人做的专业框架,大多数说中小企业都使用别人的框架,PHP常见的有thinkphp,  ci,  yii,我个人推荐学习thinkphp,这是中国人做的,轻量级,学起来容易,用的公司也多。

MySQL优化技术:

当你学会了PHP,mysql您可以尝试制作一个简单的文章管理系统,可以发布、修改和查看文章。

但是,想象一下,当你查看一篇文章时,你是否会遇到这样的问题,MySQL需要从文章表中找出你需要的文章,这时你的文章已经很多了,比如有一百万,或者一千万,mysql再从里面找一篇文章是不是越来越耗时了?平时文章少的时候,一秒钟就能打开一篇文章。这个时候可能需要十秒钟。你愿意等吗?用户愿意等吗?像新浪、腾讯这样的大型新闻网站,如果用户需要等待很长时间才能看到新闻,可以吗?

所以我们要对mysql让数据库尽可能少地找到我们需要的东西。

这里就不讨论具体的技术细节了,

优化手段主要包括:

1,表的设计

2,mysql的索引优化

3,mysql查询优化。

4,分区分表

页面静态技术:

当你学会了MySQL优化技术,不要沾沾自喜,还有很多新问题。

想象一下:一个人访问时,与大量人访问时?一个人访问可能很快,但大量人访问,mysql要处理很多要求,它太忙了,mysql支持的请求数量有限,很容易理解。

如果它一次只能处理100个请求,当超过100人时,其他用户会等待,所以速度又下降了,就像上面提到的新浪和腾讯的例子一样,用户无法等待。

怎么办?静态技术是一个很好的解决方案。

静态化的原因是将数据库的数据生成文件,用户第一次访问,mysql它仍然从数据库中提取。当第二次甚至更多次访问时,直接访问静态文件,不再麻烦数据库,从而减轻服务器的压力。

Linux

我们的程序,数据库,整个网站最终都放在了linux对于一般的系统服务器,程序员能做到基本的配置即可。基本命令、操作、启动、基本服务配置(包括rpm安装文件,各种服务配置等);会写简单的shell脚本和awk/sed 脚本命令等一般公司有相应的运维人员管理。如果对这个有兴趣,后期可以继续深挖。

非关系型数据库Redis/Memcached

怎么又是数据库?,不是已经讲过了mysql了?是的,上面咱们说的mysql是关系型数据库,所以这两个叫做非关系型数据库。

为什么需要它们?

与mysql不同的是Redis和Memcached 的数据是放在内存中的,mysql是放在磁盘中的,而访问内存中的数据速度要远大于放在磁盘中,这就是它们的好处。

那为什么还要学习MySQL,干嘛不直接学习使用Redis和Memcached?

因为:MySQL更适合海量存储数据,Redis和Memcached是在内存中的,需要很大的内存才行,而且放在内存中的数据也容易丢失,如果机器故障重启内存就释放了。

一般互联网公司大都采用MySQL + Redis,或者 MySQL +Memcached的方式进行架构;Redis/Memcached都是基于内存的,所以它们的速度非常快,包括读和写都很快,一般用在一些高并发,大数据量访问的场景之下。

说到最后,总之,学习PHP并不难,难的是一个体系。我写的总体比较基础,主要是针对一些刚入门学习的同学,在整体上给建立一个完整的知识体系。

在这条路上,可能尽管你如此努力,可还是会遇到你难以理解的问题。同样,我自己曾经连续半个月失眠,为了考虑那些棘手的问题。

我想让你知道的是:

要想确切地掌握编程语言的每一个特质是不可能的——它们是野性难驯的猛兽,如果你认为编程是一种易于学习的简单技能,那可能就会南辕北辙。作为一个程序员,需要学习的东西是无限的,并且一种不能满足的持久遗憾感,即使是该领域的专家也时常会有。

不用担心,知道了这些,把心态放正,一步一步的来。不要放弃,吸取知识是擅长它的第一步骤,一定要给自己信心,尝试用更多的方式去考虑一个问题。

不要试图一下子掌握所有内容,设定那种如 “我要学习如何编写代码”这种不明确的目标——目标应该更具体,并将任务分解成更小的任务。

俗话说得好:无论你认为自己能做到,还是认为自己做不到…..就要看你怎么暗示自己了:

我之所以不明白这一点,是因为我有一个创造性的大脑。而编程是逻辑性的,我的大脑只是不习惯这种思维方式!

事实证明,它确实这样!

在整个学习过程中,我希望大家:

不要相信任何‘神话’,学会自己思考。

不要墨守成规,大部分人知道的事情可能都是错的。

不要相信网上的传言,敢于提出质疑,去测试,根据实践做决定

现在互联网应用的数据量越来越大,企业对数据库优化看的越来越重,同样也是面试必问项,答好了更是加分项。

由于在知乎上回答关于sql优化方面的问题,因为有教学从业经验,内容又能很容易看懂,获得了不少人的认可和点评。所以最后,我又补充了很多干货,整理成了笔记,免费送,超过市面上各种培训机构该部分内容的质量,是个很好的补充。


在线客服

ONLINE SERVICE

联系电话

151 7556 5189

返回顶部
冀公网安备13020302001222