(转载请注明 传智播客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.sohu.com:80/abc/index.htm】
进行解析,
提示:考虑使用如下函数
stringObject.substring(start,stop)
stringObject.indexOf(searchvalue,fromindex)
stringObject.lastIndexOf(searchvalue,fromindex)
http://www.sohu.com:80/abc/index.htm
要求从上面给出的 url中得到:
协议是什么 http
域名是什么 www.sohu.com
端口是什么 80
文件名是什么 index.htm
试题4:
请使用js的正则表达式,验证用户输入的电子邮件格式是否合法,该电子邮件必须满足如下要求:
① 有且只有一个@
② @前面是用户名,可以是a-z A-Z 0-9 _-字符
③ @后面是域名,形式如(sohu.com 、 tsinghua.org.cn 、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学院-韩顺平 http://php.itcast.cn) |