第一篇:php学习计划流程
php学习计划流程
1。看教程(2~3月)
大概1天1个章节,比如《PHP圣经》有32章,1个多月就看完了,当然后面的章节每章1天肯定看不完,所以2~3个月是合适的看的过程中实际运行书中的例子是必须的,不要问为什么
2。读开源系统的代码,看源码分析;(3~6个月)
学css、javascript(2个月)
discuz、phpwind论坛的源码,phpcms、dedecms的源码,1个系统读3个月,两个系统6个月读下来应该差不多
其实学完PHP教程,读别人系统的代码很多还是看不懂,尤其和前台相关的代码,就是因为CSS和Javascript不会,这两个先不用学太精,读开源源码的同时学,各1个月差不多大多数代码都应该能明白啥意思,以后见的多了就好了
3。Smarty模板,框架,Ajax学习
模板其实上面说的那几个开源系统都用到了,不过Smarty比较完整,框架也是现在团队合作开发都要用到的Ajax是所谓web2.0的核心技术
其实也不用我多说,等到自己有想学这3个的愿望的时候肯定是已经懂啥叫Php Web 编程了
PHP学习过程中不同阶段的几个心得
一、html语言
其实学php之前,html是必备的知识,必须会,重点有三:1,form表单 2,frameset框架 3,get和post方法
不过get和post好像是http协议定义的,不能叫html语言,这个html教程里要没讲的话在php教程也会有。
html语法教程Softii.com.chm(119.21 KB)
二、php教程
学php教程的时候每个人都会碰到几部分难点,这里的建议就是看看就跳过,不要过分纠缠,以后慢慢自然会明白。下面是我学习过程中的几个体会:
1,对象
对象其实不难,但太抽象,而且牵扯到的概念还多,所以初学者肯定会学得很郁闷。这里说一下我的理解,目的只是加深一下读者关于对象的印象,不要指望能立码明白。因为说实话,我自己也没正式用对象编过程。
首先,用对象之前要先建类(class),然后通过类(class)新建对象,再然后就该怎么用对象就怎么用了。
其次,类(class)由变量(variable)和函数(function)组成,学名分别叫属性(property)和操作(operation),也叫成员(member)和方法(method)。
第三,构造函数__construct()和析构函数__destruct()。__construct()在对象被创建时自动执行,不用显式地调用,一般放一些初始化的代码。
最后,还有封装、继承、重载等好多概念,所以,建议初学者学头遍的时候就别太钻了,以后有的是机会。
2, 正则表达式
这也是个比较抽象的概念, 处理字符串的,学会了非常非常有用。看一下附件的教程,讲得很好,不过看不懂也很正常,先跳过即可,下阶段有的是机会学。
正则表达式教程.rar(48.82 KB)
3, 异常处理 try...catch...这个其实没什么复杂的,但是我初学的时候以为很神秘,结果搞得头闷了好长时间。
大体上就是你编码的时候觉得可能会出错的程序,你给放到 try{...}里,然后再在catch{...}里写些处理你估计可能出错的程序的候补或补救方法的程序。头遍学了解一下就行,初学没有经验,几乎用不上,有经验的也没见用得很多。
4,数据库
数据库有很庞大的理论体系,一般学编程应该对数据库有基本的概念。如果没有的话,可以搜一些教程学一下。这里简单说一下程序的分层结构的概念。
一般程序可以分成几个部分:
a.显示给用户看和接受用户输入的部分;
b.处理如何向用户显示和如何接受用户输入的逻辑代码部分;
c.存储数据部分
根据上面3个部分程序也就分为3层:1,表现层(也就是显示层)、2,应用逻辑层、3,数据库层(存储层)。
(1)对于互连网程序来讲,表现层也就是用html写的显示到浏览器的代码部分
(2)应用逻辑层一般指的就是怎样接受用户的请求(也就是点击),给用户显示什么页面的代码部分
(3)最后,程序运行过程中有很多数据是要存储下来的,这就是数据库层(存储层)的事情 以上概念只是思维上的概念,读或编写实际代码时不要生硬的去划分哪些代码是哪个层的。分层结构是系统设计上的概念,在你有了些经验,编写一定规模程序的时候会用到。
当然,对初学者提一点,存储数据不一定用数据库,文本文件也可以。数据库的作用在于“有序高效”的处理“较大规模数据”。
提示:学数据库其实基本就是学会SQL语句。
第二篇:PHP学习推荐
PHP学习推荐
PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,现在越来越多的人加入到了php的大家庭中,其中很多人只是浅尝辄止,为何会如此呢?最大的障碍莫过于学习的过程枯燥乏味,从而失去学习兴趣,那么小编就自己的经验来说说怎样学习php吧。
学习方法之视频教程
相对于读书来说,我更喜欢看视频学习,可能小编我对影像比文字记忆更加深刻吧。每看完一个视频教程,我都会闭上眼睛休息一会,把刚才看的内容消化消化,然后再开始练习刚才看过的内容,尽可能不边看边做,因为这样学的快同样也忘得快,如果实在想不起来的话,可以再打开教程看一遍,切记不可囫囵吞枣,好高骛远,要稳扎稳打,把你看过的教程切切实实的记在心里。只有一步一个脚印,你的学习之路才能走的更远,否则的话,你走的越远,越会觉的道路是如此艰辛,或许你就会放弃学习。那么都有哪些视频教程能帮我们学习php呢,小编我就为大家介绍几个吧:
php100
LAMP兄弟连
李炎恢的php
学习方法之看书: 1.《PHP与MySQL程序设计(第4版)》
2.《PHP Web 2.0 开发实战》
3.《PHP高级程序设计:模式、框架与测试》
4.《PHP 5 高级应用开发实践》
5.《细说php》
学习过程中不要死记语法,要多动手,多练习,当你遇到问题的时候,首先尝试自己解决。多用google,baidu,网络是一个大知识库,是最好的老师,你遇到的问题,别人也遇到过,多去搜索一下吧.多阅读别人的源代码,要看懂别人的设计思想,不断融为已用.
第三篇:快速学习php
Php参考手册介绍
html css 试题
试题1: 请编写如下一个html页面
试题2: 请使用(div+css)盒子经典布局编写如下界面
试题3: 请使用div+css 盒子布局模式编写sohu首页面布局
javascript试题
试题1:
请按下面内容编写一个页面,点页面里的“全选”时,能选中或清除上面的所有水果。选择你喜欢的水果:
□苹果
□桔子
□香蕉
□葡萄
□桃子
□全选/全不选
试题2: 编写一个简单显示和隐藏效果如图所示:
试题3:
请使用javascript相关函数对一个url【http://www.xiexiebang.com
(2)PHP函数
PHP函数的基本介绍、如何自定义函数、PHP页面调用函数、require()、require_once()、include()和include_once()的区别、从内存分析PHP函数调用过程、函数使用需要注意的细节、函数值传递和引用传递的区别。
函数是我们PHP编程最重要的一个知识点,也是进行模块化编程的基础,掌握好函数可以提高代码的复用性、可读性和可维护性。
(3)数组、排序和查找
数组的基本概念、数组的引用方式、数组引用陷阱、与PHP数组相关的函数(count、is_array、print_r、explode等)遍历数组的三种方式、删除数组元素和数组运算符、数组使用细节总结、内部排序法和外部排序法介绍、冒泡排序和快速排序、选择排序和插入排序、顺序查找和二分查找、二维数组介绍和使用。
依据我的经验,我们去找工作的时候,一定会一道关于排序和查询的题,最常见的问题是: 请你写出冒泡排序法,并使用二分查找来查找一个数。在项目开发中,数组是衔接变量和函数的重要数据类型,在MVC开发中,往往需在控制器中将数组分配给视图去显示,在算法中,数组也是变化最为灵活的。
(4)面向对象编程
面向对象编程基本概念、类和对象的关系、如何定义类、成员属性(变量)、如何创建对象实例及如何访问对象属性、对象在内存中存在的形式、栈、堆、全局区、常量区和代码区的关系、成员方法(函数)及使用细节、构造方法(函数)、默认构造方法(函数)、this的基本概念和使用、析构方法(函数)、PHP的对象垃圾回收器、静态变量(类变量)的概念和使用、静态方法(类方法)的概念和使用、面向对象编程的三大特征介绍、面向对象编程-封装、面向对象编程-继承、面向对象编程-多态、访问控制修饰符(public、protected、private)、方法重载(overload)、方法重写(override)、方法重载(overload)和方法重写(override)的比较、PHP魔术函数(__set __get __construct __destruct __call等)和魔术常量(__LINE__ , __FILE__ ,__FUNCTION__等)、抽象类(abstract class)的概念和使用接口(interface)的概念和使用、接口编程和继承的区别、关键字final的使用、常量关键字const 的作用和使用注意事项、面向对象编程之强大的反射机制、面向对象编程之动态代理。
面向对象编程已经成为PHP编程的主流,面向对象编程让程序变得更加强大和灵活,更利于项目的开发和维护。关于面向对象编程 在 传智播客 php视频教程 61讲-78讲,看看什么才是真正的PHP面向对象思想,什么是真正的OOP。
(5)错误处理和异常处理
错误处理的基本概念、PHP处理错误的三种方式介绍、使用die()进程错误处理、自定义错误和错误触发器、错误日志、错误级别介绍、PHP异常处理的基本介绍、PHP异常处理(try throw catch)、自定义异常、如何设置顶级异常处理器、异常使用的规则。
在编写php web 应用程序时,错误处理是一个重要的部分。如果您的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门。所以大家需要清楚在PHP编程中如何对错误和异常进行有效的处理,从而保证程序的安全和健壮。
(6)预定义超全局数组
预定义超全局数组-基本概念、$_GET、$_POST、$_REQUEST、$_SERVER、$_ENV、$_FILES、$_COOKIE、$_SESSION、$GLOBALS、$_GET 使用陷阱(sql注入和中文乱码问题)(7)cookie和session 什么是会话、cookie的基本概念、cookie的curd操作、cookie重要的api介绍、cookie运行原理图解、cookie的实际运用(显示用户上次访问时间、显示用户上次浏览过的商品、)、cookie使用的注意事项、session数据存放的位置和形式、session的curd操作、session运行原理图解、session实际案例-在线购物车、IE禁用Cookie后的session处理方案、session防止用户非法入侵、session配合验证码使用、php.ini 中关于cookie和session配置说明(重点,难点)、自定义会话处理器、Session和Cookie的区别。
Cookie(小甜饼)是客户端技术,服务器把每个用户的数据以cookie的形式 写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。
Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用 户的浏览器创建一个其独享的session文件,当用户再去访问服务器中的其它web资源时,可以从用户各自的session 中取出数据为用户服务。Session和Cookie是最重要的用户行为跟踪技术,尤其是电商,sns项目中运用广泛,因此是我们学习的重点和难点,也是面试笔试的重点。关于cookie和session大家可以参考传智播客 php视频教程 114-121讲
(8)PHP文件编程
文件及文件编程是什么、文件流的基本概念、文件的操作方式、PHP文件编程函数汇总介绍、最常用的13个文件函数、使用文件完成网站计数器、文件上传下载操作-mini版音乐共享网、无限级文件扫描器。
文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频 ,声音...,本章节要求同学们掌握文件的各种操作和上传下载,动态创建和删除目录,文件和无限级扫描文件等,掌握好这些知识点对我们项目开发非常重要。
(9)PHP绘图技术
php绘图坐标系、绘图步骤说明、绘图快速入门、绘图最常用的函数、绘图技术的实际运用—人口分布饼状统计图、专业的报表开发--JpGraph、JpGraph的安装和配置、JpGraph实际应用-网民支持情况统计图、JpGraph中文乱码处理。
如果你使用过财务软件,那你一定看见过各种对财务数据进行统计和分析 的图表,可能是表格,也可能是饼状图、柱状图、曲线图..,简单的说,就是使用图表动态显示数据。而这些图表的显 示都要使用到PHP的绘图技术,绘图技术要求熟练的使用PHP的绘图函数完成项目的需求。能开发一些统计图,非常有实用价值。比如:
推荐学习传智播客 php视频教程
下载地址 http://php.itcast.cn
如何检验自己的学习效果,看看下面的一些面试题 , 看看能完成多少? 如果能正确完成80%,说明这个阶段学到还不错。
练习1: 简述echo(),print(),print_r()的区别?
练习2: 说出PHP的超级全局变量数组,共九种
练习3: 如何在一个php函数中使用具有全局属性的变量,说出两种方式
练习4: 三个小题: 4.1.跳水比赛,8个评委打分。运动员的成绩是8个成绩取掉一个最高分,去掉一个最低分,剩下的6个分数的平均分就是最后得分。使用一维数组实现打分功能。
4.2.请把打最高分的评委和最低分的评委找出来。4.3.找出最佳评委和最差评委。最佳评委就是打分和最后得分最接近的评委。最差评委就是打分和最后得分相差最大的。
练习5: include和require都能把另外一个文件包含到当前文件中,他们有什么区别?Include和include_once又有什么区别?
练习6: 写出一个能创建多级目录的PHP函数
练习7: 写出一个函数,能递归列出某个目录下的所有文件夹和文件名.练习8: 在防止SQL注入的时候,通、会把单引号、双引号等转义,需要用到哪个函数 练习9: 写出插入排序法和快速排序法代码
练习10: 二分查找的原理是什么? 请写出二分查找函数
练习11: 写出php的public、protected、private三种访问控制模式的区别 练习12: 请写出一个完整的严谨的单例模式
练习13: __set 和 __get 魔术函数是做什么的,在什么时候被触发 练习14: 如何防止对象克隆, 对象克隆会复制 static属性吗? 练习15: 说说strip_tags的作用和用法?
练习16: 如果需要原样输出用户输入的内容,在数据入库前,要用哪个函数处理? 练习17: 如何控制多个进程去并发删除,插入和更新数据库的某张表? 练习18: PHP的安全模式和非安全模式的区别
(转载请注明 传智播客php学院-韩顺平http://php.itcast.cn)
当然,有些学员还给我写信说这样一个问题,如何去检验第一阶段: PHP前端网页开发基础,学习情况, 学习到怎样的水平,再学习下一个阶段比较好, 大家可以做一下下面的测试题,如果你能将下面的题都完成,说明你已经有一定基础,可以学习下一个阶段:(注意:需要独立完成)
html css 试题
试题1:
请编写如下一个html页面
试题2:
请使用(div+css)盒子经典布局编写如下界面
试题3:
请使用div+css 盒子布局模式编写sohu首页面布局
javascript试题
试题1:
请按下面内容编写一个页面,点页面里的“全选”时,能选中或清除上面的所有水果。选择你喜欢的水果:
□苹果
□桔子
□香蕉
□葡萄
□桃子
□全选/全不选
试题2: 编写一个简单显示和隐藏效果如图所示:
试题3:
请使用javascript相关函数对一个url 【http://www.xiexiebang.com、163.com 等)
练习5:计算一个js整数数组的所有元素的和。
练习6:计算一个字符串 , 比如 “abcde中国,你好hello,12345”, 中含有多少个中文字,多少个字母,多少个数字?
练习7:将一个js字符串数组的元素的顺序进行反转。(“3”,“a”,“8”,“haha”)转换为(“haha”,“8”,“a”,“3”)。提示:第i个和第length-i-1个进行交换。不能使用js的reverse()函数。
好,现在我们谈谈第二个阶段应该学习什么内容,如何学习的问题。第二阶段 PHP核心编程
(1)PHP基本语法加强 Apache--directory配置段、一个IP和多个域名绑定的两种方式、HTTP协议入门介绍、Apache逻辑组件介绍、Apache生命周期、PHP运行之时序图、PHP数据类型加强、PHP各种运算符加强、PHP三大流程控制加强、位运算(按位与、按位或、按位异或、按位非、位左移、位右移)、二进制(原码、反码、补码)、PHP版本在线贷款计算器。
这里,我想说明一下: PHP基础语法看似简单,但是也不可大意,有些PHP程序员工作了2年,对PHP运行的原理都不清楚,对Apache的一些重要调优配置也不了解,这样的程序员,在公司是不行的,很难得到提升。所以就一直是一个编码工人,薪资也上不去。
比如面试中经常问到: PHP中一个整数的范围是多少, 小数的能表示的范围是多少? 再比如如何在Apache中配置一个404错误页面,如何给一个主机配置一个域名,具体怎样操作?这样一些基础的问题都必须在这个阶段搞定。推荐大家看 传智播客php视频教程 23讲-45讲 ,有详细到位的讲解。
(2)PHP函数
PHP函数的基本介绍、如何自定义函数、PHP页面调用函数、require()、require_once()、include()和include_once()的区别、从内存分析PHP函数调用过程、函数使用需要注意的细节、函数值传递和引用传递的区别。
函数是我们PHP编程最重要的一个知识点,也是进行模块化编程的基础,掌握好函数可以提高代码的复用性、可读性和可维护性。
(3)数组、排序和查找 数组的基本概念、数组的引用方式、数组引用陷阱、与PHP数组相关的函数(count、is_array、print_r、explode等)遍历数组的三种方式、删除数组元素和数组运算符、数组使用细节总结、内部排序法和外部排序法介绍、冒泡排序和快速排序、选择排序和插入排序、顺序查找和二分查找、二维数组介绍和使用。依据我的经验,我们去找工作的时候,一定会一道关于排序和查询的题,最常见的问题是: 请你写出冒泡排序法,并使用二分查找来查找一个数。在项目开发中,数组是衔接变量和函数的重要数据类型,在MVC开发中,往往需在控制器中将数组分配给视图去显示,在算法中,数组也是变化最为灵活的。
(4)面向对象编程
面向对象编程基本概念、类和对象的关系、如何定义类、成员属性(变量)、如何创建对象实例及如何访问对象属性、对象在内存中存在的形式、栈、堆、全局区、常量区和代码区的关系、成员方法(函数)及使用细节、构造方法(函数)、默认构造方法(函数)、this的基本概念和使用、析构方法(函数)、PHP的对象垃圾回收器、静态变量(类变量)的概念和使用、静态方法(类方法)的概念和使用、面向对象编程的三大特征介绍、面向对象编程-封装、面向对象编程-继承、面向对象编程-多态、访问控制修饰符(public、protected、private)、方法重载(overload)、方法重写(override)、方法重载(overload)和方法重写(override)的比较、PHP魔术函数(__set __get __construct __destruct __call等)和魔术常量(__LINE__ , __FILE__ ,__FUNCTION__等)、抽象类(abstract class)的概念和使用接口(interface)的概念和使用、接口编程和继承的区别、关键字final的使用、常量关键字const 的作用和使用注意事项、面向对象编程之强大的反射机制、面向对象编程之动态代理。
面向对象编程已经成为PHP编程的主流,面向对象编程让程序变得更加强大和灵活,更利于项目的开发和维护。关于面向对象编程 在 传智播客 php视频教程 61讲-78讲,看看什么才是真正的PHP面向对象思想,什么是真正的OOP。
(5)错误处理和异常处理
错误处理的基本概念、PHP处理错误的三种方式介绍、使用die()进程错误处理、自定义错误和错误触发器、错误日志、错误级别介绍、PHP异常处理的基本介绍、PHP异常处理(try throw catch)、自定义异常、如何设置顶级异常处理器、异常使用的规则。
在编写php web 应用程序时,错误处理是一个重要的部分。如果您的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门。所以大家需要清楚在PHP编程中如何对错误和异常进行有效的处理,从而保证程序的安全和健壮。
(6)预定义超全局数组
预定义超全局数组-基本概念、$_GET、$_POST、$_REQUEST、$_SERVER、$_ENV、$_FILES、$_COOKIE、$_SESSION、$GLOBALS、$_GET 使用陷阱(sql注入和中文乱码问题)
(7)cookie和session 什么是会话、cookie的基本概念、cookie的curd操作、cookie重要的api介绍、cookie运行原理图解、cookie的实际运用(显示用户上次访问时间、显示用户上次浏览过的商品、)、cookie使用的注意事项、session数据存放的位置和形式、session的curd操作、session运行原理图解、session实际案例-在线购物车、IE禁用Cookie后的session处理方案、session防止用户非法入侵、session配合验证码使用、php.ini 中关于cookie和session配置说明(重点,难点)、自定义会话处理器、Session和Cookie的区别。
Cookie(小甜饼)是客户端技术,服务器把每个用户的数据以cookie的形式 写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用 户的浏览器创建一个其独享的session文件,当用户再去访问服务器中的其它web资源时,可以从用户各自的session 中取出数据为用户服务。Session和Cookie是最重要的用户行为跟踪技术,尤其是电商,sns项目中运用广泛,因此是我们学习的重点和难点,也是面试笔试的重点。关于cookie和session大家可以参考传智播客 php视频教程 114-121讲
(8)PHP文件编程
文件及文件编程是什么、文件流的基本概念、文件的操作方式、PHP文件编程函数汇总介绍、最常用的13个文件函数、使用文件完成网站计数器、文件上传下载操作-mini版音乐共享网、无限级文件扫描器。
文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频 ,声音...,本章节要求同学们掌握文件的各种操作和上传下载,动态创建和删除目录,文件和无限级扫描文件等,掌握好这些知识点对我们项目开发非常重要。
(9)PHP绘图技术
php绘图坐标系、绘图步骤说明、绘图快速入门、绘图最常用的函数、绘图技术的实际运用—人口分布饼状统计图、专业的报表开发--JpGraph、JpGraph的安装和配置、JpGraph实际应用-网民支持情况统计图、JpGraph中文乱码处理。如果你使用过财务软件,那你一定看见过各种对财务数据进行统计和分析 的图表,可能是表格,也可能是饼状图、柱状图、曲线图..,简单的说,就是使用图表动态显示数据。而这些图表的显 示都要使用到PHP的绘图技术,绘图技术要求熟练的使用PHP的绘图函数完成项目的需求。能开发一些统计图,非常有实用价值。比如:
如何检验自己的学习效果,看看下面的一些面试题 , 看看能完成多少? 如果能正确完成80%,说明这个阶段学到还不错。
练习1: 简述echo(),print(),print_r()的区别?
练习2: 说出PHP的超级全局变量数组,共九种
练习3: 如何在一个php函数中使用具有全局属性的变量,说出两种方式
练习4: 三个小题: 4.1.跳水比赛,8个评委打分。运动员的成绩是8个成绩取掉一个最高分,去掉一个最低分,剩下的6个分数的平均分就是最后得分。使用一维数组实现打分功能。4.2.请把打最高分的评委和最低分的评委找出来。
4.3.找出最佳评委和最差评委。最佳评委就是打分和最后得分最接近的评委。最差评委就是打分和最后得分相差最大的。
练习5: include和require都能把另外一个文件包含到当前文件中,他们有什么区别?Include和include_once又有什么区别?
练习6: 写出一个能创建多级目录的PHP函数
练习7: 写出一个函数,能递归列出某个目录下的所有文件夹和文件名.练习8: 在防止SQL注入的时候,通、会把单引号、双引号等转义,需要用到哪个函数
练习9: 写出插入排序法和快速排序法代码
练习10: 二分查找的原理是什么? 请写出二分查找函数
练习11: 写出php的public、protected、private三种访问控制模式的区别
练习12: 请写出一个完整的严谨的单例模式
练习13: __set 和 __get 魔术函数是做什么的,在什么时候被触发
练习14: 如何防止对象克隆, 对象克隆会复制 static属性吗?
练习15: 说说strip_tags的作用和用法?
练习16: 如果需要原样输出用户输入的内容,在数据入库前,要用哪个函数处理?
练习17: 如何控制多个进程去并发删除,插入和更新数据库的某张表?
练习18: PHP的安全模式和非安全模式的区别
第四篇:php学习经验
感觉要学好一门编程语言,关键要有对比,多看看别人的代码,多写代码。
我的php是自学的,所以自学的角度来说。
一开始都是看书,在选书的过程中要根据自己的情况,没有其他编程语言基础的,或者只有大学那点C语言基础的,都建议看国内的作者写的书,国外写的一般涉及面较广,相对难度较大,不太适合初学者。
这个过程,可以看视频加快学习进度,推荐的入门视频lamp兄弟连和php100的视频。一定要经常上机练手。多多加相关的qq群,去那些php技术的论坛,去看看他们具体谈论的话题,看看自己薄弱之处。当你看完一本,这种书的内容的结尾一般都是用smarty或者zend framework做一个小项目,就不必在看书了(国内的书都是一个套路,选一本最厚的看,其他的以后都不用再看了),可以先做一个功能齐全的新闻发布系统,在实践中巩固书本的知识。
基本的语法和面向对象的内容看完之后。必须了解一下php的框架,建议初学者先看看thinkphp,比较简单,之后再看看zend framework这类比较大的框架。这一步不需要精通而只要初步了解一下MVC和面向对象编程的知识,之后在学习中,不断加深。
当这些做完,你对做web开发有个大概印象时。就要看看别人成熟的产品,php的cms,像dede,ecshop,wordpress,joomla,drupal等,抓一个自己认为适合自己现阶段最适合学的,也是视频和书本辅助的,好像joomla,drupal都有实体书了。学习别人的cms,能让学到很多技术和思想。但了解别人代码的意思,这个过程是痛苦的,特别是对很多基础不牢的,但这是必须的,和别人对比才能进步。php就是这样,你没有任何技巧都可以搭建出一个网站。但这样的网站根本就不可作为商业用途。
之后,就要在工作岗位上提升自己,所以先要找一份工作岗位,现在php还是很热门的(以后我不敢保证),这种工作挺好找的,只要你能做出一个像样的新闻发布系统,一般的小公司会要的,但是工资比较低,可能是一千来块。要学好一门语言,都是要有相应的工作经验的,不太可能是自己在家捣鼓捣鼓就能成为高手的。在工作中跟别人相互学习,在工作不断地解决问题,能让你不断进步。
在学习中一些问题也要加强,你可以看看招聘中他们所写的要求比如缓存,静态化等等,比较实用的东西,你是否掌握。还有php高手都是多面手,linux,mysql甚至其他语言都是精通的。
第五篇:新手浅谈学习PHP
新手如何学习PHP
从默默自己向别人问怎么学PHP开始,到后来不少人又来问默默怎么学PHP,不管默默是新手,还是老鸟,似乎总是感觉摸不出一条清晰的脉络来,不过,默默既然学会了PHP,那么我走的这条路或多或少的有一定借鉴性。
PHP的背景恐怕就不用默默赘言了,我相信大家选择一种语言,并不是看它的背景和悠久历史,更重要的是看它的实用性,华而不实的语言哪怕是再辉煌的历史,也毕将步向没落,可喜的是PHP经受住了考验,也因此,它确实是一种值得学习的语言。
默默一直是听从别人的经验长大的,也因此在前辈们的经验里让默默少走了许多的弯路,更快的步入了正规,在此向那些我至尽不知道其名字的前辈们道声谢谢,在默默的眼里,帮助不分大小,只要是帮助,总会让默默的心里暖融融的,我想,前辈们帮助我,并不是为了得到我的一句谢谢,更多的是出于一种责任感和对默默的期望,所以我想,只有学好PHP,才能对得起前辈们的汗水。
正如我所说的,默默也终于感觉到了一种责任感,默默不知道自己的经验到底能帮助新手多少,但是默默明白,现在到了履行责任的时候了,我有必要把自己的经验告诉给所有希望学好PHP的人,只有这样才能让中国的PHP不断的进步,不断的发展,在世界上占据一席之地。
默默学习PHP的这段期间,感觉国内的PHP环境越来越成熟,规范也在逐渐的健全,PHPCHINA的成立,标志着与官方直接挂钩的PHP机构在中国正式落户了,在此献上迟到的掌声!
好的,切入正题:
我想在讲述自己的学习方式前,对那些期望能从我的文章中获得有用信息的人说一句心里话:
默默的文章不会对您的学习起到实质性的作用,您能否成功,还得靠自己的,坚持,坚持,再坚持,就是步入成功的不二法门。
我先把我自己学习PHP的过程做一下概括:
(1)熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度
(2)理解动态语言的概念,运做机制,熟悉PHP语法
(3)学习如何将PHP与HTML结合起来完成简单动态页面
(4)接触MYSQL,开始设计数据库程序
(5)不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板
(6)完成一个功能齐全的动态站点
我的这套线路可能跟许多学习PHP的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,默默在此不得不对您稍微泼一下冷水,任何东西其实都不简单,即使是小吃部的烧饼也不是一下子就会做成的。
我先解释一下我的学习思路。
首先,理解网站这一概念之后不难看出,任何网站都是由网页组成的,也就是说想完成网站,必须先学会做网页,因此必须要掌握了HTML,才能为今后制作网站打下基础。
在学习HTML中我想边学边做是最有效的方式,当然这一方式对于学习PHP同样是最有效的。
HTML中的任何元素都要亲自实践,只有明白了什么元素会起到什么效果之后,你才会记忆深刻,而一味的啃书,绝对是不行的,我想大部分新手之所以觉得概念难学,大部分是一个字“懒”,懒是阻止进步的最大敌人,所以克服掉懒的习惯,才能更快的学好一样东西。
也许您在学习PHP的时候只想尽快的开发一个网站,也就会想我做网站,干嘛要学什么网页这些小儿科?不难看出,眼高手低的新手不在少数,这种思想无疑于建造空中楼阁,你不建地基,何来的房顶呢?
OK,掌握静态网页的制作技术是学习开发网站的先决条件,这一点就讲到这里,因为这篇文章不是教程文章,也就不对技术进行深入的刨析了。
我假设你目前已经可以完成一个静态页面了,当然,做的好看难看是另外一说,默默的第一个网页也没好看到哪去,但是“孩子”再丑,咱们做“爹妈”的也不能嫌弃不是?这毕竟是咱的成果。
那么咱们就开始学习动态语言的概念吧,刚一接触动态语言,可能很多人都会蒙了,怎么这乱七八糟的东西,在网页里显示的时候却是另外一码事?其实这并不算乱七八糟,你写的HTML代码不也一样是一堆堆的字符吗?毕竟,代码并不是作为直接输出的,而是经过处理的,说白了,HTML是经过HTML解析器,而PHP当然也就通过PHP解析器了,跟学习HTML一样的道理,想让任何的解析器完成操作,就必须使用它们专用的语法结构,所以PHP长相奇怪也就不足为奇了。
对于PHP的理解是新手最难迈过的一道门槛,不过你应该感到幸运的是PHP已经最大极限的为了新手而努力了,如果你学过其他的语言,也许会觉得PHP的确相当的简单,但是如果你之前什么都没学过,那么阿弥陀佛,硬着头皮琢磨吧。
书过三遍自然熟,这个简单的道理告诉我们,即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。
在一段挣扎之后,聪明的你,显然已经逐渐的开悟了,慢慢的理解了编程的概念,那么祝贺你,你已经迈出了成功的第一步。
搞清楚HTML和PHP的概念,那么PHP和HTML混合编程应该不成问题,在这期间,你完全可以让PHP给你算算一加一等于几,然后在浏览器输出,不要觉得幼稚,这的确是跟阿波罗登月一样,你打的是一小段代码,但是对于你的编程之路,可是迈出了一大步啊!兴奋吧?但是不得不再给你泼点冷水,您还是菜鸟一个。
高兴一段时间就必须继续努力了,接下来就是学习数据库了,MYSQL可算是PHP的黄金搭档了,不过,虽然话是这么说,你也可能恨不得把MYSQL给生吞活剥了,因为这一行一列的东东简直让自己头晕目眩。
头晕归头晕,目眩归目眩,你不可能吃饭的时候咬了自己一下舌头就从此不吃饭了不是?放下畏惧,继续努力,咱们是来征服它的,而不是被它征服的,振奋起来吧同志。
在一番搏斗之后,你终于理解了数据库的概念,而且让你兴奋不已的是你终于可以通过PHP来连接数据库了,这期间你是怎么学会的,我们不去考证了,但是事实证明,你已经可以了。
学会了PHP和数据库的你,无疑是左手拿着MOTOLOLA右手拿着NOKIA,要多潇洒,有多潇洒,哈哈,终于学会了,但是可能这个时候,又会有人不经意的拍拍肩膀对你说:哥们,别高兴的太早,你还是菜鸟,离学会还差着一大截呢!
等到你发奋努力的学会了用PHP成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。
这个时候的你也许是这种状态:
你会HTML吗?会,我能编好几个大表格排板的网页啦!
你会PHP吗?会,我会把一加一的运算写在函数里,然后调用啦!
你会MYSQL吗?会,我会把我的信息在数据库里插入删除啦
那,接下来你该怎么做呢?我觉得,小试一下身手,大概是没问题了,那么交给你个任务,做个留言本吧,这和HELLO WORLD有一比啊!^_^,同是新手面临的第一道关。
花了一段时间,你终于学会把表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。
但是,你可能瞅瞅东,看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢?
不要急,可以说你的马步已经扎的差不多了,接下来就要开始练把势的时候了,如果有条件的话,用笔或者打印一个简易的PHP手册在身上,时不时的摸出来看看,记得,去WC也不能放过(^2^)。
再有条件的话,买本书看看吧,《PHP+MYSQL WEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-)
巩固了自己的知识,熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_-
这个时候,你的留言本应该加入注册以及分页功能了,而如果你更强的话,UI(用户界面)也可以加强,完成之后,感觉是不是特有成就感?不管怎么样,咱好歹是写了一个动态网站程序了,放在自己的网站上耍耍吧,让好朋友来看看,嘿,看咱写的多棒,然后再在网上宣传一下。
几天之后你再打开留言本,哎?哇,一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧!
你发奋努力,熟悉了安全方面的问题,然后又设计了一些程序,感觉还不错。
那么接下来,这就算学会啦?NO,NO,NO,还早呢,你至尽还没碰过OOP之类的吧?模板呢?
恩,学!加紧学呀学,学会了这些之后,你又学会了生成静态网页,现在你应该接触一下XML了,恩,XML也了解了,那么AJAX你也得接触接触吧?AJAX完了....然后...总而言之,你绝对不会发现你全部都学会了,一些真正的强人总会搞出新玩意来丢给你,你不学就落后了,也印证了前人的经验,果然是学无止境啊!
我想通过我的一番YY,你也应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^0^
看完之后你发现,罗嗦这么多,对我一点用处没有啊,我知道该怎么学,但是我想如何才能更快的学,一周速成,啊不,24小时速成那种,默默你有没?
我.......我没有,但是2分钟之内把你扁进医院里,我倒是有把握-_-
学东西,永远不要妄想有速成这一说,告诉你了一个方式,但是缺少努力这一环节,那也是白搭。
但是有一点我可以给你保证的就是,你学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。
不过语法好学,但是怎么用语法来实现每个人都有每个人的方式,几乎是各有千秋。然而借鉴别人成功的代码,绝对是有益无害,因此,多看那些经过千锤百炼凝出来的经典代码,是进阶的最好方法。
讲了这么多,无非是想说:学习PHP不仅要掌握方法,更多的是付出汗水,我不希望看到中途放弃的人,相信自己,相信自己的选择,更要相信自己的能力,如果自己想放弃,暴力一点的话,就自己抽自己一个嘴巴,然后大吼:别人可以,我为什么就不可以?(是不是有点阎罗教练的味道,默默的确是电影看多了,抽嘴巴是会痛的,各位其实明白这个道理了就行了)
另外要叮嘱各位的是,抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让你无所适从,你也许学了一半PHP,又开始打C#的主意,或者有人说JAVA很强,这个时候的你绝对不能动摇,哪怕你真想学,也得学会了PHP。然后再学,见异思迁是最不可取的,狗熊掰玉米就是这个道理,如果经常中途放弃,只能是一无所获,还浪费了N多的时间和经历,得不偿失,最重要的是,你会被别人瞧不起,没有人会喜欢和见异思迁的人交朋友,因为这种人太不安分,太不可靠,因此,你必须要强迫自己完成自己的目标,哪怕可能会很难受,也得坚持,毅力就是这么锻炼出来的。