zoukankan      html  css  js  c++  java
  • 【PHP】php基础回顾

    引子

    最近有个网站项目,趁着这个机会把php的基础语法回顾下,看的书是《PHP开发入门真功夫》,基本上是茶余饭后看的,感觉这部分时间利用起来还是蛮有效的,以前的话基本上作为时间碎片流失掉了,时间碎片其实是个很可怕的事情,他可以让你的时间变得很琐碎,同时也让你难以有一段相对长的高效时间。最近的奋斗目标该是减小这个碎片时间吧。

    知识整理

    说到正题,这本书貌似还是挺适合做基础回顾的,讲的东西很浅显。我下面就逐章节说下学到的东西吧,以备以后查找。

    第二章:基本语法

    1.印象深刻的有include和require的区别:include遇到错误时会出现警告继续运行,但是require会强制中止。

    2.另外局部变量可以通过强加global关键字变为全局变量。

    第三章:字符串与正则表达式

    1.PHP对字符串处理还算是比较完善,个人觉得会用的比较多的有:

    字符串拼接(圆点(.)、分隔符({})或者圆点等号(.=)),查找字符串(strstr),分割字符串(explode,split)

    2.单引号和双引号的区别:这个一直没搞清,单引号时程序不会判定字符串中是否有变量,而双引号的时候会尝试解析。

    3.另外还有一种叫定界符的东西,用来插入大段文本(如果你不想频繁地去使用转义符的话,定界符会将大段字符原样输出),基本用法如下:

    echo <<<end 
    文本文本 
    end 

    4.正则表达式:正则表达式是个很牛的东西,在这里学习个皮毛。主要有POSIX风格和Perl风格。

    POSIX风格: ^[A-Z][0-9]$表示两位字符,第一位是大写字母,第二位是数字;^[a-zA-Z0-9]{6,10}$表示6到10位字符串。这是PHP默认风格。

    Perl风格:/^\D{1,}$/表示的是非数字字符的字符串。对于Perl风格,函数名前要加preg_,比如preg_split();

    5.觉得很有必要去把各种表单验证中的正则表达式看懂。

    第四章:函数

    1.使用函数默认参数时要将有默认参数的变量放在最后一个。

    2.引用传递需要在函数调用时的变量前加一个&

    3.php内置时间函数:date(“Y年n月j日 H:i:s”)

    第五章:数组

    1.foreach循环结构:foreach($ball as $key=>$value)....

    2.sort()和asort(),不同之处在于后者会保持键名和值的对应关系。

    3.range()函数快速创建数组。如:$number=range(0,3)

    4.数组合并:array_merge(),数组翻转:array_reverse(),对调键名和值:array_flip()

    第六章:文件操作

    1.读取函数:fopen()打开文件,注意读写标志;fread()读取整个文件;fgets()读取一行;fgetc()读取一个字符;file()读取一个文件并写入一个数组中,每一行作为一个key对应的内容。

    2.写入及关闭:fwrite()写入文件;fclose()关闭文件;unlink()删除文件。

    3.目录操作:mkdir(), opendir(), readdir(), closedir(), rmdir()

    4.文件上传:表单标签中加入enctype="multipart/form-data",也可以是其他。可以用$_FILES访问文件。

    第七章:PHP5中的面向对象

    1.构造方法:function __construct(); 析构方法:function __destruct();

    2.static修饰符可以将变量或者函数变为全局的。然后可以用::访问。

    3.关于抽象类和接口:抽象类和普通类相似,有成员属性和成员方法,区别在于不能被实例化,只能用于继承。当某个类要继承于抽象类时,必须包含该抽象类中定义的所有方法。使用关键字extends。

    而接口使用关键字interface定义,使用implements实现,接口没有数据成员,只包含一些空的成员方法和一些类常量,并且没有构造函数。

    一个类可以实现多个接口,但是一个类却只能继承于一个抽象类。

    第八章:session和cookie

    1.session的创建和销毁:session_start(); session_destroy();

    2.cookie的创建和销毁:setcookie(“name”,”str”,time()+3600); 销毁就是将值置为空。

    3.二者区别:session存放在服务器端,而cookie存放在客户端;session的安全性要高一些;session原则上可以不依赖于cookie,但是大部分情况下还是有对应的cookie值存放在本地。

    第九章:错误及异常处理

    try...catch...的使用

    第十章:访问MySql数据库

    1.mysqli类扩展了数据库连接功能。

    2.预准备语句的使用,prepare,execute。

    3.绑定参数bind_param, 绑定结果bind_result。

    第十一章:数据库抽象层

    1.数据库抽象层的特点就是:不管后端是什么数据库,存取数据的方式都是一样。也就是说,当我们的项目需要换个数据库时,不用去修改代码,只需修改下连接数据库的语句即可。

    2.PDO和ADODB各有千秋,这里有一篇二者的比较,哪个好就见仁见智了:http://www.cnblogs.com/hooray/archive/2011/03/21/1990034.html

    第十二章:PHP网络应用

    关于Socket、DNS、FTP、mail,php都给出了支持,可以很方便地操作。

    第十三章:Smarty模板

    1.smarty确实是个好东西,最近做的项目里,设计师将做好的网页给我,我几乎不用怎么做调整就可以把原始网页直接拿来使用,当然这一切都是smarty的功劳。

    2.传递参数时使用assign操作,最后用display显示出来。

    3.smarty中的foreach结构:

    {foreach from=$fourseasons item=season key=index}
    {$index}:{season}<hr>
    {/foreach}

    4.smarty中的section:

    {section name=varName loop=$arrayName start=startindex step=stepNum max=num show=boolean}
    循环体
    {/section}

    5.修饰符:例如{$sex|default:”男“}

    6.smarty配置文件:可以将字符串写在配置文件里,然后统一调用 

    (虽然看完才一个星期,但是回忆起来好吃力啊,以后像这种读书笔记就应该读完就写!!)

  • 相关阅读:
    正则去掉 html标签
    app内嵌 h5页面 再滑动的时候 触发击穿底下的一些touchstart事件
    设置按钮不能连续点击并触发点击事件
    使用NPOI导入导出标准Excel
    ASP.NET导出word实例
    常用SQL语句大全总结
    判断以及防止SQL注入
    javascript 正则表达式总结
    前端页面优化技巧
    自我介绍
  • 原文地址:https://www.cnblogs.com/xweiwei/p/2733105.html
Copyright © 2011-2022 走看看