php学习总结

时间:2019-05-14 01:43:33下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《php学习总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《php学习总结》。

第一篇:php学习总结

调试/*………*/ //…….#..........插入时考虑清楚字段类型避免插入后出现缺值,乱码

@ 屏蔽错误or die 条件显示

以前学习php类的总结:

1.php中不能重载,但是能用子类覆盖父类的方法名称来实现新的重载

1.1 在子类中调用父类的覆盖部分可以使用 父类名称::方法名称();

2.final 只能定义类和方法,不能使用final定义成员属性,因为final是常量的意思,在php里定义常量使用的是define函数

2.1 final关键字标记的类不能被继承

2.2 final关键字标记的方法不能被子类重写

3.const是一个定义常量的关键字,在php中定义常量使用的是define()函数,但是在类里定义常量使用的是“const” 这个关键字

3.1在程序中不能修改它的值。

3.2 访问const 修饰的成员属性要使用类名,在本类的方法里使用“self”关键字,但不使用“$”符号,也不能使用对象来访问。

4.static关键字可以描述类中的成员属性和成员方法

4.1 static 的成员属于类,而不属于任何对象,4.2 static的成员是在类第一次被加载的时候分配的空间,其他类无法访问的,只对类的实例共享,能一定程度对类该成员形成保护

4.3 静态成员放到了“初始化静态段”,在类第一次加载的时候放入的,可以让堆内存里的每个对象共享。所以在静态方法里,可以使用这个方法所在的类的“类名”,也可以使用“self”来访问其他静态成员。“self”代表这个静态方法所在的类。

4.3.1 在类里的静态方法是不能访问类的非静态成员的。

4.3.2 在类的非静态方法里可以访问静态成员:”self:成员属性“;

4.4类的静态变量,非常类似全局变量,能够被所有类的实例共享,类的静态方法也是一样,类似于全局函数。

4.5 在类内函数访问静态变量时前面加self::静态函数

4.6 静态变量可以在类外直接访问,访问方法是类名::静态变量

4.7 静态函数可以在类外直接访问,访问方式是类名::静态函数

4.8 在类内静态函数访问另一个静态函数时使用 类名::静态函数名

4.8.1 静态函数在类内访问静态变量时,访问方式是类名::静态变量

4.8.2 静态函数在类内访问静态变量时,访问方式除了是类名::静态变量外,还可以使用self::静态变量

4.9 在类内静态函数访问另一个静态函数时除了使用 类名::静态函数名外,还可以使用self::静态函数名,也可以直接调用静态函数

4.10 静态函数内不能访问非静态变量

4.11 在类内静态函数不能使用$this->非静态函数名访问非静态函数,可以使用self::非静态函数名

4.12

5.类里的”$this“,在php里面提供了一个本对象的引用$this,每个对象里面都有一个对象的引用$this来代表这个对象,完成对象内部成员的调用。

5.1 $this 就是对象内部代表这个对象的引用。

6.类里“self”,self 和$this相似,只不过self是代表这个静态方法所在的类,所以在静态方法里,可以使用这个方法所在的类的”类名“,也可以使用“self”来访问其他的静态成员,通常使用后者”self::成员属性“。

7.类里”__“开头的函数名

7.1类里”__“开头的函数名都是在某一时刻不同情况下自动调用执行的方法。

7.2__toString()方法也是自动被调用,是直接输出对象引用时自动调用的。比如“$p = new Person()”,直接用echo输出$p会产生错误,如果在类里定义了__toString()方法,再用echo直接输出对象引用的时候就不会产生错误了

8.对象串行化

8.1 __sleep()方法,在对象串行化的时候,会调用一个__sleep()方法来完成一些睡前的事情,__sleep()函数不接受任何参数,但返回一个数组,其中包含需要串行化的属性。未被包含的属性降在串行化时被忽略,如果没有__sleep()方法,php将保存所以属性.8.2 __wakeup()方法,在重新醒来时,即由二进制串重新组成一个对象的时候,则会自动调用__wakeup(),做一些对象醒来就要做的动作。

8.3 有时你可能需要一个对象在反串行化后立即执行.为了这样的目的,PHP会自动寻找__sleep和__wakeup方法.9.protected 成员能被同个类中的所有方法和继承出的类的中所有方法访问到,不能被父类的实例直接访问。protected and public 可以动态绑定

10.private 大部分private属性仍然可以被外部代码共享.解决方法是用一对public方法,一个是get(获取属性的值),另一个是set(设置属性的值).10.1private 不可以动态绑定。Private成员只存在于它们所在的类内部.不像public和protected成员那样,PHP模拟静态绑定.10.2 什么时候用到private?private成员只有当你不想让子类继承改变或特殊化父类的行为时才用到,这种情况比你想像的要少,通常来说,一个好的对象分层结构应当允许绝大多数功能被子类特殊化,改进,或改变—这是面向对象编程的基础之一。一定的情况下需要private方法或变量,例如当你确信你不想允许子类改变父类中的某个特定的部份。

11.抽象类:抽象方法是就像子类中一般的方法的占位符(占个地方但不起作用),它与一般方法不同—没有任何代码.如果类中存在一个或更多抽象方法, 那么这个类就成了抽象类.你不能实例化抽象类.你必须继承它们,然后实例化子类.你也可以把抽象类看成是子类的一个模板.如果你覆写所有的抽象方法, 子类就变成一个普通的类.如果没有覆写所有方法, 子类仍是抽象的.如果一个类中中包含有抽象方法(哪怕只有一个), 你必须声明这个类是抽象的, 在class关键字前加上abstract.声明抽象方法的语法与声明一般方法不同.抽象方法的没有像一般方法那样包含在大括号{}中的主体部份,并用分号;来结束.12.接口:如果你建立了一个只有抽象方法的类,你就定义了一个接口(interface).为了说明这种情况, PHP中有interface 和implements关键字.你可以用interface来代替抽象类, 用implements来代替extends来说明你的类定义或使用一个接口.例如, 你可以写一个myClass implements myIterface.这两种方法可以依个人偏爱来选择.12.1 如果接口中出现非抽象方法.会报错

12.2 接口中的方法默认是public 型的.其它类型的修饰符,不能修饰接口中的抽象方法.12.3 即使接口中所有的方法都是抽象方法,也不能使用 abstract 修饰.也不能用final

12.4 即使接口中所有的方法都是抽象方法,在接口中,可以声明静态方法.12.5 在接口中可以有常量,e.g.:

interfaceUser{

const MAX_GRADE = 99;

function getName();

function setName($_name);

}

?>

13.Namespace关键字给一块代码命名.在这个代码块外部,脚本必须用操作符::加上命名空间的名称来引用这个代码块.引用静态的类成员也是用相同的方法.在命名空间内代码不需要声明命名空间, 它本身就是默认的.这种方法比添加前缀的方法好.你的代码可由此变得更加紧凑和可读.你可能想知道是否可以建立分层的(嵌套的)命名空间.答案是不可以.但你可以在命名空间名称后加上冒号, 你可以再次调用在名称中不包含冒号的变量,函数和类.命名空间允许存在冒号,只要不是第一个字符和最后一个字符或接着另一个冒号.命名空间的名称中的冒号对于PHP来说没有任何意义, 但如果你用他们来区分逻辑上的区块, 他们可以很好地说明你的代码中的父子(parent-child)关系.14.__toString()打印对象会调用它的__toString方法.15.不能实例化的类

//

//当__construct()为public时可以实例化

class A{

private function __construct(){}

}

$a = new A();//fail

?>

15.1

//static的方法留给外部访问.

class A{

private function __construct(){}

static function getClassA(){

return “这里是后门,可以通过这里进入类内部..”;

}

}

echo A::getClassA();

?>

15.2

//不能用new实例化的类.

//static的方法留给外部访问.

//在方法内部返回实例.

class A{

private function __construct(){

echo “this is construction
n”;

}

static function getClassA(){

$a = new A();

return $a;

}

}

// 看到这里确实返回的是 A 的实例.但不是同一个对象.$a1 = A::getClassA();

$a2 = A::getClassA();

echo “$a1 的类是 ”.get_class($a1).“ , $a2 是 ”.get_class($a1);if($a1 === $a2){

echo “
$a1 $a2 指向同一对象.”;

}else{

echo “
$a1 $a2 不是一个对象.”;

}

//this is construction

//this is construction

//$a1 的类是 A , $a2 是 A

//$a1 $a2 不是一个对象.?>

15.3

//不能用new实例化的类.
//static的方法留给外部访问.
//在方法内部返回实例.

//定义静态属性保证这个实例能被静态方法调用.

//增加判断部分.

class A{

private static $a = null;

private function __construct(){}

static function getClassA(){

if(null == self::$a){

self::$a = new A();

}

return self::$a;

}

}

// 看到这里确实返回的是 A 的实例.但不是同一个对象.$a1 = A::getClassA();

$a2 = A::getClassA();

echo “$a1 的类是 ”.get_class($a1).“ , $a2 是 ”.get_class($a1);if($a1 === $a2){

echo “
$a1 $a2 指向同一对象.”;

}else{

echo “
$a1 $a2 不是一个对象.”;

}

//$a1 的类是 A , $a2 是 A

//$a1 $a2 指向同一对象.?>

第二篇: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学习总结的一些经验

其实我也是一样很新的新手,上PHP100学习视频并在论坛里学习其实也就是一个月前的事.虽然早在8月份花过一个星期看完w3school的PHP教 程,了解了许多PHP知识.但始终是缺乏一个与众多朋友学习和交流的平台,所以一下子在几周后又把PHP又忘得七七八八了,有幸在10月尾了解到了 PHP100视频和论坛,不仅可以系统地学习下PHP,更可以和很多朋友一起学习成长这更是件好事.在php100视频中学到了许多,而 论坛中看帖和回帖也更让我巩固了学习的知识并让我学到了很多,这不仅不会让我又把PHP知识快速忘记(因为工作中用是ASP,而PHP不会在工作中用,所 以忘得快),反而在取得进步的同时,我也能帮助一些人,这也是一样是学习胜利的过程,我喜欢并享受其中.以下是我上论坛以来的回复总结,将不断持续总结.希望有利于与我一样的新手一起成长.首先来个,题前语:

任何的学习,都需要自信,再新的新手也应该抛弃心中的恐惧,有时关键在于你心平下来,踏入学习后,你将慢慢化开迷惑,获得信心,赢取自信!让我们共同进步.----------

==========

Undefined index问题

是运行的时候出现类似:Notice: Undefined index: action in D:wampwww.xiexiebang.com/read.php?tid=15843&page=1#138857

是 php 配置的事情

这个错误是因为 php 页面中的变量没有初始化而导致的!

可以通过设置PHP.INI搞好,也可以在变量前面 加上一个 @ 就可以解决这个地方的问题了!

如这里指示第三行

Notice: Undefined index: action in D:wampwww.xiexiebang.com/2009/0617/6463.php

----------

==========

遇到页面明确提示你错误的,并有显示如何错的,建议先把语句复制部分重点词句或全部语句到百度或

google,更快速让在你排查错误找到方法.其实这也是一种高效有益的学习方法,毕竟在工作中,遇到些没

遇过的新问题,有时都需要借助网上的资源给自己灵感和助力,本人就一天不下几十次用百度搜索.如程序中遇到诸如含提示:

显示的错误为:

Parse error: syntax error, unexpected $end in D:wampwwwtestlist.php on line 21

那么你就可以把 syntax error, unexpected $end 作为关键词到百度搜索,那么你即刻可以得到助力甚

至答案.以上那句举例的错误是因为:短标签没有打开.解决方法是打开php.ini把short_open_tag短标签

打开,重启服务即可

----------

==========

提示的时候,有时顺便把代码帖上帖子是必要的,这样才能快速地在别人的帮助下问题得到解决

----------

==========

对单引号和双引号有迷惑,大家可以看这篇文章解下惑:

----------

==========

在调试程序时,经常要用到echo 你的sql语句来,检查传值后,sql变成了什么样的情况,以便排查错误.----------

==========

向数据库表插入数据

INSERT INTO 语句用于向数据库表添加新纪录。

语法

INSERT INTO table_name VALUES(value1, value2,....)--此种情况是需要按你表中所有字段的顺

序全部value填上!

您还可以规定希望在其中插入数据的列:

INSERT INTO table_name(column1, column2,...)VALUES(value1, value2,....)--张老师明确建

议用此种方法!

----------

==========

有人疑惑,$_POST或$GET取得时的引号问题:其实是要不要引号,单引号或双引号都是没有问题的.如, $_POST[name]和$_POST['name']和$_POST[“name”]都是在windows下一样的,在linux下情况具体没

用过,不知道,还望高手告知.----------

==========

针对多数人的留言板课程中许多问题(如,insert into存不进数据问题)的总结:

1.检查你数据库表的结构是否正确,如id是否设为自增

2.insert into语句是否正确,如单词是否正确,insert into...values...3.是否将`(反斜点,在1键前)号和'(引号)是否使用位置正确,正确的方法是:`应该放在表和字段边,而'

是放在字符串型(或者说是非数字型)的值边上

4.检查你的各语句,是否在结尾将分号(;)正确结束

5.检查你的submit表单项的name值是否你判断的取值,如

value=“提交”>时,你的判断是否提交应是 if($_POST[submit]){...};当你的是

type=“submit” name=“othername” value=“提交”>时,你的判断是否提交应是 if($_POST

[othername]){...}

6.检查你的$_POST是否大写,当你写成$_post是不行的,因为$_GET,$_POST等,都是PHP系统环境的硬性用

7.用echo 输出你的sql检查传值情况

8.检查你的短标签是否打开

9.注意你的method是get还是post

10.检查你的表单相关单词或引号是否书写正确.很多莫名其妙的问题,多是细节问题.要小心查对才能看

出来.----------

sql语句中表名和字段名在windows的情况下是可以不加小斜点(键盘左上角1键前的那个点键)的,但听说

在linux中不加会引出些问题,兼容的写法是有小斜点.如:windows下:

$sql=“select * from table ”

$sql=“select * from `table` ”

是效果一样的再次重点提示是:

`(反斜点,在1键前)号和'(引号)使用位置,正确的方法是:`应该放在表和字段边,而'是放在字符串型(或

者说是非数字型)的值边

----------

==========

php100第十三讲的page.PHP中的翻页显示信息有问题的解决方法:

因为页面没有取值到URL值的page,所以在函数内的page会一直是1,所以会一直是第1页的数据

解决方法,就是在调用函数前把page取得就好了!函数里会把取到的page值作为全局变量传入函数使用的了!

include(“conn.php”);

$nump=mysql_query(“SELECT * FROM `test`”);

$total=mysql_num_rows($nump);

//调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所

以省略掉)。

$page=$_GET[page];//------------------------------在这里加入这行就OK了!

_PAGEFT($total,5);

echo $pagenav;

$query=mysql_query(“SELECT * FROM `test` limit $firstcount,$displaypg ”);//---见下面 while($row=mysql_fetch_array($query)){

echo “


”.$row[name].“ | ”.$row[sex];

}

以上的调试方法,其实你只要学下张老师把sql语句输出来看下,你就知道是怎么回事了!

echo $sql=“SELECT * FROM `test` limit $firstcount,$displaypg ”;

$result=mysql_query($sql);

----------

==========

分页有问题的朋友,不妨看下如下:

关于分页,这有一篇论坛朋友的学习心得,学习下,你也许有所得:

另有一篇本人转发上去的分页讲解:

----------

==========

关于:mysql_fetch_array

mysql_fetch_array 调用一次会把指针指向的记录放入数据,并指向下一条记录

======================....回复的太多了,总结又需较多时间,暂时总结到此,总结未完,待续.....

第四篇:php mysql学习总结剖析

php 字符串

反引号里面的字符必须是命令 如`pwd` 是查看当前目录

转移字符:

符号

含义

双引号

反斜线

n

换行

t

跳位(Tab)

常量和变量 _FILE_ 这个默认常量是php程序文件名 _LINE_ 这个默认常量是php程序行数 E_ERROR 这个常量指到最近的错误处 E_WARNING 这个常量指到最近的警告处 E_PARSE 本常量为解析语法有何潜在问题处 自定义常量define(“

“,”

“);第一空格为常量,第二个为定义 或

define(‘

‘,);同上

有$为变量,无为常量 object为类变量,如 class foo{ function do-foo(){ echo”Doing foo”;} } $bar=new foo;

//建立变量,其他语言有(),php语言没有。// $bar->do-foo();

//调用变量的方式。//->为调用类函数用的符号

变量区分大小写

Php变量可以不用定义直接使用。局部变量和全局变量的区别见第二章,第21分钟处图。

全局变量必须用$GLOBALS数组和global声明。配置文件的globals函数须打开

是什么????

$PHP_SELF

//php文件名,全局变量 echo $GLOBALS[“PHP_SELF”];或 globals $PHP_SELF;不能echo $PHP_SELF;

函数不区分大小写

静态变量static variable

老语法$foo直接用

新语法$_GET[‘foo’]

$_POST[‘foo’]

$_SESSION[‘foo’]

位运算符:

&与

|或

~非

^异或

<< 向左移位乘法

>> 向右移位除法 逻辑运算:

&& 而且AND

||或者OR

Xor异或

!不Not

符号

意义 $

变量

&

变量的地址(加在变量前)->

类的方法或属性 =>

数组的元素值

? :

三元运算符

数组

数组的下标可以是整数,也可以是字符串

如$user[0]=”张三”;

$user[‘zs’]=”张三”;

$user[“zs”]=”张三”;或$user=array(“张三”,//下标0

echo $user[0];‘is’=>”李四”,//下标is

echo $user[is];或echo $user[‘is’];“ww”=>”王五”

//下标ww);

echo sizeof($user);

//记录数

多维数组 $user=array(array(‘张三’,88), array(‘李四’,95), array(‘王五’,99));函数

函数不区分大小写 函数原型:

返回类型 函数名称(类型 参数1, 类型 参数2…..);

数学函数

number abs(number)取绝对值|x| float sin(float)

正弦计算sin(x)float cos(float)

余弦计算cos(x)float sqrt(float)

开平方根计算 float log(float)

自然对数计算lnx float log10(float)

lgx float exp(float)

e的x次方

float pow(float x,float y)

x的y次方

double pi()

圆周率

void srand(int)

配置随机种子

int rand([int min],[int max])

取得随机数

string strtolower(string str)

字符串全转为小写 string strtoupper(string str)

字符串全转换为大写 string trim(string str)

截去字符串首尾的空格 string substr(stringstring,int start,int[length])

取子串

下标从0开始。从第start位取出length个字符,start为负数,从尾端算起,length为负数表示取倒数length个字符。第三章第七分钟 int strlen(string str)取得字符串长度

int strpos(string母串,string待查字符,int[offset])

寻找字符串中的某个字符最先出处 int strcmp(string str1,string str2)字符串比较

string md5(string str)计算字符串的MD5哈希值 fopen(“C: mpa.txt”,”r”);fopen(http://www.xiexiebang.commit

//提交,缺省自动提交 set autocommit=0

//取消自动提交 rollback

//回滚

事物可以用start transaction定义

有些语句自动提交,无法回滚,如DDL语句 save point //回滚点 锁

lock tables 表名[read][write], 表名[read][write],… 解锁

unlock tables

fulltext(title,body)

//在标题和主体上建立全文索引

select * from articles where match(title,match)against(‘database’);

select * from articles where match(title,match)

against(‘+mysql-yoursql’ in boolean mode);

包含mysql不包含yoursql 逻辑全文索引 against:匹配串:

apple banana

//找至少包含上面词中的一个的记录行 +apple+juice

//两个词均被包含在内

+apple macintosh

//包含词”apple”,但是如果同时包含”macintosh”,它的排列将更高一点 + apple-macintosh

//包含”apple”但不包含” macintosh”

“some words”

//可以包含”some words of wisdom”但不是”some noice words”

grant

//授权

grant select,insert,update,delete on *.* to ‘test_user’@’%’ identified by ‘123’;%

//任何主机

*.*

//任何数据库上的任何对象,*表示任何 123

//密码

test_user

//用户名

grant all privileges on *.* to admin@localhost identified by ‘123’ with grant option;

//创建本地的完全超级用户”admin,口令’123’” all privileges //完全的权限

with grant option

//授权给其他用户

删除用户

revoke all on *.* from ‘test_user’@ localhost;revoke all

//收回所有权限 flush privileges

//刷新内存授权表

delete from user where user=’test_user’;

// 删除用户

delete from user where host=’localhost’ and user=’’;

//删除匿名用户

mysqladmin-uroot password 123

//添加密码123 mysqladmin –uroot-p123 password 456

set password for root=password(“456”);

update user set password=password(‘456’)where user=’root’;

//再改密码为456 mysqladmin –uroot –p456 password’’

optimize table 表1,表2…;

//mysql优化

load data infile ‘路径’ into table teacher;

或 mysqlimport school 路径(如C:/a/b.txt)

//导入

mysqldump –opt school > school_2004_9.sql

//将数据库school中的表全备份到school_2004_9.sql文本文件

mysqldump –opt school teacher student > school_2004_9.sql //仅备份表teacher和student mysqldump –databases school test > school_2004_9.sql

//备份多个数据库

source school_2004_9.sql;

//从备份文件恢复数据

select * from emp limit(2,5);

//查第3到第7号员工的信息

select * from emp order by sal limit 0,5;= select * from emp order by sal limit 5;

mysql_data_seek(resource,int row_number)将指定的结果标识所关联的mysql结果内部的行指针移动到指定的行号。接着用 mysql_fetch_row()将返回那一行,row_num从0开始

if(!($supername==$supervisor)||!($superpass==$superpsw))//如果用户名和密码有一个错

action='$php_self’

//自身执行

相对路径是:../(表示当前文件的上一级目录);../../(表示当前文件的上一级目录的再上一级目录);./(表是当前目录);/(表示根目录)

$result=mysql_query(“update vote set $select_result='{$number}',total='{$total}' where id=$id”,$db);//当用$select_result表示某个字段(如result1到result9)传递$number,值等可用此表示法(当字段为变量)

路径:

$tempdir = str_replace(“",”/“,substr(dirname(__FILE__),0,-6));//这样做可以避免在虚拟空间站找不到路径的问题,require $tempdir.”/include/config.inc.php";

解决乱码

1选定代码片段

2选定修改----页面属性----标题/编码 3选择编码类型

4重新载入(这步不能省)

不懂 可直接用教程中文件名直接在百度提问,肯定有人和我学一样的东西

第五篇:快速学习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学习总结word格式文档
下载php学习总结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    php学习经验

    感觉要学好一门编程语言,关键要有对比,多看看别人的代码,多写代码。 我的php是自学的,所以自学的角度来说。 一开始都是看书,在选书的过程中要根据自己的情况,没有其他编程语言基......

    新手浅谈学习PHP

    新手如何学习PHP 从默默自己向别人问怎么学PHP开始,到后来不少人又来问默默怎么学PHP,不管默默是新手,还是老鸟,似乎总是感觉摸不出一条清晰的脉络来,不过,默默既然学会了PHP,那么......

    新手如何学习PHP范文合集

    才智尚招聘网 浅谈一下新手如何更好的学习PHP PHP是现在运用最为广泛的开发语言,有着较好的发展前景,现在我就简单的说一下我是如何学习PHP的。 我先把我自己学习PHP的过程做......

    如何学习PHP(推荐五篇)

    如何学习PHP,学习php的方法 点击:21 次添加日期:2012-08-20[ 打印 ][ 收藏 ][ 关闭 ] - 学东西,永远不要妄想有速成这一说,告诉你了一个方式,但是缺少努力这一环节,那也是白搭。 掌......

    php课程总结

    一、 时间和地点: 每周四上午在F311上课。 二、 课程内容:通过这段时间的学习,我对PHP中的MySQL数据库有了一定的理解。由于以前没有基础,在老师讲课的过程开始有点费尽,尽量记了......

    PHP基础总结

    1、在HTML嵌入PHP脚本有三种办法: <scriptlanguage="php"> //嵌入方式一 echo("test"); </script> <? //嵌入方式二 echo"<br>test2"; ?> <?php //嵌入方式三 echo"<br>test3"; ?> 还......

    PHP程序员学习路线

    供参考的 php 学习路线 第一阶段 第一讲,WEB基础 1.1 网站基本知识; 1.2 网络协议介绍; 1.3 B/S与C/S结构的区别; 1.4 WEB编程、网站开发技术介绍。第二讲,网页设计 2.1 Dreamwea......

    学习使用PHP数组

    如果你有很大的一个数组,而所要完成的仅是找出一个存在的给定值,你可以使用in_array以返回true 或 false。如下代码将输出“Not found in this array”——因为你将在$names......