热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

适用于PHP初学者的学习线路和建议

新手不要看到上面的概括就以为PHP学习是很简单的,编程是需要你认真的思考和不断的实践。下面具体解释一下PHP的学习线路。

(1) 熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作简单的网页,对元素属性相对熟悉。

(2) 理解动态语言的概念和运做机制,熟悉基本的PHP语法。

(3) 学习如何将PHP与HTML结合起来,完成简单的动态页面。

(4) 接触学习MySQL,开始设计数据库。

(5) 不断巩固PHP语法,熟悉大部分的PHP常用函数,理解面向对象编程,MySQL优化,以及一些模板和框架。

(6) 最终完成一个功能齐全的动态站点。

新手不要看到上面的概括就以为PHP学习是很简单的,编程是需要你认真的思考和不断的实践。下面具体解释一下PHP的学习线路。

首先,任何网站都是由网页组成的,也就是说想完成一个网站,必须先学会做网页,掌握静态网页的制作技术是学习开发网站的先决条件。因此我们要学习HTML,为今后制作网站打下基础。学习HTML应该边学边做,HTML中的任何元素都要亲自实践,只有明白了什么元素会起到什么效果之后,才能深刻记忆,一味的看书是不行的。

假设你已经可以完成一个静态页面了,那么就该开始了解动态语言,刚一接触动态语言,可能很多人都会有很多不解,代码不是作为直接输出的,而是要经过处理的,HTML是经过HTML解析器,而PHP也要通过PHP解析器,跟学习HTML一样的道理,想让任何的解析器工作,就必须使用它专用的语法结构。 学习PHP,你应该感到幸运,因为如果你学过其他语言,你就会发现PHP还是相对简单的,这一阶段,你要搞清楚HTML和PHP的概念,你现在完全可以让PHP给你算算一加一等于几,然后在浏览器输出。不要觉得幼稚,这虽然是很小的一段代码,但是对于你的编程之路,可是迈出了一大步。不过现在,你还是一个菜鸟。

接下来就要学习数据库了,MySQL可以说是PHP的黄金搭档,我们要征服这个数据库,在你理解了数据库的概念之后,就要尝试通过PHP来连接数据库,进而会用PHP成功的插入,删除和更新数据。 这个时候,你可能会处于这种状态:你会HTML吗?会,我能编好几个表格排板的网页呢!你会PHP吗?会,我会把一加一的运算写在函数里,然后调用!你会MySQL吗?会,我可以把数据库里的数据插入删除啦! 那接下来该做什么呢?尝试着做个小的留言本吧,这同样是新手面临的一道关卡。花了一段时间,你终于学会把表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。但是,你可能会看人家这个编论坛,那个开发CMS,我什么时候可以写一个呢?不要急,再巩固一下知识,熟悉了PHP和MySQL开发的要领后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?这个时候,你可以完善一下你写的留言本。留言本应该加入注册以及分页的功能,可以的话,UI也可以加强。

这就算学会了吗?NO,NO,NO,还早呢,你到现在还没碰过OOP呢吧?那模板和框架呢?还要继续学习呀!PHP框架提供了一个用以构建web应用的基本框架,从而简化了用PHP编写web应用程序的流程。可以节省开发时间、有助于建立更稳定的应用。所以说,PHP框架是一个可以用来节省时间并强化自己代码的工具。当你第一次选择PHP框架时,建议多尝试几个,每个框架都有自己的长处和短处,例如Zend框架由于多样的功能、并且有一个广泛的支持系统,流行了很长时间。而CakePHP是一个晚于Zend的PHP框架,相应的支持系统也比较少,但是更为方便和易于使用。 了解了面向对象和框架后,你应该接触一下XML了,总而言之,你绝对不会发现你全部都学会了,学无止境!学东西,永远不要妄想有速成这一说,技巧再多,但是缺少努力,那也是白搭。有一点可以保证,就是你学会了PHP,那么再学其它语言,肯定速成,反过来也一样,如果你之前学过其它的语言,那么学PHP肯定快。 多借鉴别人成功的代码,绝对是有益无害,所以要多看那些经过千锤百炼凝出来的经典代码,是进步的最好方法。另外,要强调的是,学习一项技术过程中可能会遇到困难,可能会迷茫,你也许学了一半的PHP,又开始打C#的主意,或者有人说Java很好,这个时候你绝对不能动摇,要坚持到底,彻底学会。祝你顺利学成PHP,开发自己想要的网站。

最后,分享10条PHP性能优化的小技巧,帮助你更好的用PHP开发:

1. foreach效率更高,尽量用foreach代替while和for循环。

2. 循环内部不要声明变量,尤其是对象这样的变量。

3. 在多重嵌套循环中,如有可能,应当将最长的循环放在内层,最短循环放在外层,从而减少cpu跨循环层的次数,优化程序性能。

4. 用单引号替代双引号引用字符串以实现PHP性能优化。

5. 用i+=1代替i=i+1。符合c/c++的习惯,效率还高。

6. 优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作,达到PHP性能优化的目的。

7. 尽量的少进行文件操作,虽然PHP的文件操作效率也不低的。

8. 尽可能的使用PHP内部函数。

9. 在可以用PHP内部字符串操作函数的情况下,不要用正则表达式。

10. 在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为它的效率高得多。但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题。


推荐阅读
  • 在使用Block时,正确的声明方法和确保线程安全是至关重要的。为了保证Block在堆中分配,应使用`copy`修饰符进行声明,因为栈中的Block与栈的生命周期绑定,容易导致内存问题。此外,还需注意Block捕获外部变量的行为,以避免潜在的循环引用和数据不一致问题。建议深入研究相关文档,以掌握更多高级技巧和最佳实践。 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
  • 在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ... [详细]
  • PHP开发人员薪资水平分析:工程师平均工资概况
    PHP开发人员薪资水平分析:工程师平均工资概况 ... [详细]
  • Node.js 配置文件管理方法详解与最佳实践
    本文详细介绍了 Node.js 中配置文件管理的方法与最佳实践,涵盖常见的配置文件格式及其优缺点,并提供了多种实用技巧和示例代码,帮助开发者高效地管理和维护项目配置,具有较高的参考价值。 ... [详细]
  • 二叉树的直径是指树中任意两个叶节点之间最长路径上的节点数量。本文深入解析了计算二叉树直径的算法,并提出了一种优化方法,以提高计算效率和准确性。通过详细的案例分析和性能对比,展示了该优化算法在实际应用中的优势。 ... [详细]
  • 本文全面解析了 gRPC 的基础知识与高级应用,从 helloworld.proto 文件入手,详细阐述了如何定义服务接口。例如,`Greeter` 服务中的 `SayHello` 方法,该方法在客户端和服务器端的消息交互中起到了关键作用。通过实例代码,读者可以深入了解 gRPC 的工作原理及其在实际项目中的应用。 ... [详细]
  • vtkGlyph3D 是一种强大的符号化可视化工具,能够将三维数据集中的每个点用预定义的几何图形(如球体或箭头)进行表示。该工具不仅支持自定义符号的方向和缩放比例,还能够在复杂的数据场中突出显示关键特征,从而提高数据的可解释性和可视化效果。通过这种方式,用户可以更直观地理解和分析三维数据集中的重要信息。 ... [详细]
  • MongoVUE基础操作指南:轻松上手数据库管理
    本文介绍了MongoVUE的基础操作,旨在帮助用户轻松掌握数据库管理技巧。MongoVUE是一款功能强大的MongoDB客户端工具,虽然需要注册,但其用户友好的界面和丰富的功能使其成为许多开发者的首选。文中详细解释了安装步骤、基本配置以及常见操作方法,并对一些常见的问题进行了修正和补充,确保用户能够快速上手并高效使用MongoVUE进行数据库管理。 ... [详细]
  • 在Python网络编程中,多线程技术的应用与优化是提升系统性能的关键。线程作为操作系统调度的基本单位,其主要功能是在进程内共享内存空间和资源,实现并行处理任务。当一个进程启动时,操作系统会为其分配内存空间,加载必要的资源和数据,并调度CPU进行执行。每个进程都拥有独立的地址空间,而线程则在此基础上进一步细化了任务的并行处理能力。通过合理设计和优化多线程程序,可以显著提高网络应用的响应速度和处理效率。 ... [详细]
  • HDU1176:免费馅饼问题的动态规划解法分析
    题目“免费馅饼”通过动态规划方法进行了解析。该问题的时间限制为 Java 2000ms 和其他语言 1000ms,内存限制为 Java 65536K 和其他语言 32768K。本文详细探讨了如何利用动态规划算法高效求解此问题,并对算法的时间复杂度和空间复杂度进行了深入分析。此外,还提供了具体的实现步骤和代码示例,帮助读者更好地理解和应用这一方法。 ... [详细]
  • 本文深入探讨了 hCalendar 微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了 rel 属性用于定义链接关系、XFN 微格式增强链接的人际关系描述以及 hCard 微格式对个人和组织信息的描述。本次将重点解析 hCalendar 如何通过结构化数据标记,提高事件信息的可读性和互操作性。 ... [详细]
  • 在遍历集合的过程中,若需根据特定条件对集合进行修改操作,如添加或删除元素,应特别注意避免引发 `ConcurrentModificationException` 异常。例如,在当前场景中,当集合中的对象ID与另一个集合中的对象ID不匹配时,需要向集合中添加新元素。为了避免这一异常,建议使用迭代器的 `remove` 方法或采用线程安全的集合类型,如 `CopyOnWriteArrayList`,以确保操作的安全性和一致性。 ... [详细]
  • 如何在Mac上构建高效的本地服务器环境
    在Mac上构建高效的本地服务器环境,首先需要了解基本步骤:1. 配置目录基础;2. 启动Apache服务;3. 添加自定义文档至本地服务器;4. 查看自定义效果。此外,还可以通过手机或其他电脑访问本机服务器,以确保跨设备的兼容性和调试效果。Mac系统自带的Apache服务为本地开发提供了便捷的工具,本文将详细介绍每个步骤的具体操作方法。 ... [详细]
  • CAS 机制下的无锁队列设计与实现 ... [详细]
author-avatar
海角处回忆_417
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有