chj0771 发表于 2017-3-4 07:48:25

PHP学习笔记

   * 学习网址:
      PHP中文手册
   http://www.phpchina.com/manual/php/      
    
     PDO Functions             
     http://www.phpchina.com/manual/php/ref.pdo.html

   * 从 HTML 中分离; 当 PHP 解析一个文件时,会寻找开始和结束标记,标记告诉 PHP 开始和停止解释其中的代码。
    1. php.ini文件
    修改php.in文件将何时生效,这取决于安装php的方式,如果作为CGI二进制包安装PHP,那么每次调用php时都会重新读取php.ini文件。如果作为Apache模块安装php,则只会在apache守护进程第一次启动时读取php.ini。

    php对变量大小写敏感 对函数大小写不敏感
     2. 类型转换
    * 类型自动转换
    因为php是弱类型语言,所以有时会根据引用变量的环境,将变量自动转换为最适合的类型。(《PHP与Mysql5程序设计》P40 line1.)
    * 类型强制转换
    可以使用以下类型转换操作符,来对php中的变量进行类型强制转换:
    (array)
    (bool) 或 (boolean)
    (int) 或 (integer)
    (object)
    (real) 或 (double) 或 (float)
    (string)
   3. php默认的界定符是 <?php ?> (《PHP与Mysql5程序设计》P31 ).
     因为php是弱类型语言,所以声明变量时不能指定其变量类型。
     php中的变量声明,变量总是以美元符$开头,然后是变量名。区分大小写。
     常量定义使用define方法,例如: define("PI",3.141592)
      foreach 有两种语法形式:
     1)
     foreach(array_expr as $value){
          statement;
     }
     2)
     foreach(array_expr as $key => $value){
          statement;
     }
     
  4. php的核心是用c开发的,所以在php中(特别是php4之前),可以看到很多过程式编程的方式。标准的PHP发行包中有1000多个标准函数。
     echo print include 是特殊的命令函数,调用时可以不加()括号符。

    include() include_once() require() require_once()的区别
    require()方法总是会执行,即使放在if(0)语句块中;require()语句如果出错,则脚本停止执行。该语句可以理解为预编译时的函数。

   5. PHP有9个预定义的超级全局变量,这些变量都是变量数组。
        * $_SERVER
        * $_GET
        * $_POST
        * $_COOKIE
        * $_FILES        二维数组
        * $_ENV
        * $_REQUEST
        * $_SESSION
        * $_GLOBALS
6. 字符串
    在双引号的字符串中,变量和转义序列都得到相应解析。
    而在单引号中,则不会解析变量和转义序列(除了\' 和 \\)。
    字符串的拼接操作符(.)       拼接赋值操作符(.=)
    
7. 数组
    php不需要在创建数组时指定其大小,也不需要在使用数组前先行声明。不过你可以调用array()函数来创建数组。
    php中的数组不仅有普通数组的基本功能,还有类似Map的功能。实际上,php 没有真正的类似java的collection的集合类。但数组的功能已经具备了Array,List,Map的作用了。
    P78 array()函数,list()函数, range()函数,count()函数,sizeof()函数
    P78 =>操作符

8. P100 定义函数
    P68 按引用传递参数;
    P73 变量函数
    P111构造函数(  __construct()  )、析构函数(  __destruct()  )
    P125 反射。
    P189 执行系统函数
    P259 PEAR,PHP扩展与应用库。
    P232 PHP的回查特性(要配合Apache的回查特性);    $_SERVER['PATH_INFO'] 来取得路径信息
9.  通过配置制Apache的httpd.conf来配置错误处理。 例如配置404错误指向某个error.html页面。

10.  P240 header()函数 
       P242 explode()函数可以分割字符串,类似split(),但后者使用正则表达式。
       P272 mail()函数
11. Smarty是最流行的PHP模板引擎,Smarty的注释 {*  *}  P332

12. 数据库连接的方式:1) DB是PHP编写的一个数据库抽象层,包含在PEAR包中;2) PDO php数据对象,统一各式个样的数据库命令,在开发过程当中,是使用PDO类对象。 不过PDO这个功能特性是PHP5.1 以上版本才提供的(详见P415)

13. PHP的mysql扩展
        PHP与Mysql交互时,如果是MySQL4.1版本及以下,可以使用PHP的mysql扩展
        windows下的配置是: extension=php_mysql.dll
        php的mysql扩展提供了多达45个函数。

14. PHP的mysqli扩展
        如果想使用MySQL4.1以上版本的新特性,则需要采用PHP的mysqli扩展
        php的mysqli扩展支持MySQL的新版本特性。采用类封装(使用mysqli类对象),同时为兼容性考虑,也提供了面向过程的方法。

15. 首先我使用的php5是采用msi的安装方式,如果是zip方式应该也一样。安装pear的方式如下:
      1) 运行php5目录下的go-pear.bat 命令
      2) 运行PEAR_ENV.reg
      3) 到http://pear.php.net/packages.php 网站上download相关的包,然后解压到php5目录下,例如我所要安装的pear包为:
            DB-1.7.12.tgz          
            Date-1.4.7.tgz         
            File-1.3.0.tgz         
            Numbers_Roman-1.0.1.tgz
     4) 运行命令,如Pear install DB-1.7.12.tgz      (注意,pear已是php5目录下的pear.bat 批处理文件)

16. 输出信息并中断 PHP 程序。语法: void die(string message);
     @符号将禁止失败尝试导致的任何错误信息。所有函数都有此特征。最常见的示例如下:    
        @mysql_connect("localhost","root","root")     
        or die("could not connect to MySQL Server!");

17. 进行mysql数据库操作时,常用的函数如下:
        mysql_connect()
        mysql_pconnect()
        mysql_close()
        mysql_select_db()
        mysql_query()
        mysql_result()
        mysql_fetch_row()
        mysql_fetch_array()

        mysql_num_rows()
        mysql_affected_rows()
        mysql_error()

18. 利用mysqli扩展 进行数据库操作时,跟jdbc操作类似,采用面向对象的方式来编程。
       mysqli扩展只能用于 php5。同时mysqli也提供了 过程化的语法。

19. 许多数据库,例如mysql都直接提供了散列函数( eg. md5() )。
      MD5是“单向”散列算法,也就是不可逆算法。

20. 加密函数 
  %md5 -- Calculate the md5 hash of a string,MD5是“单向”散列算法,也就是不可逆算法。
  %crypt -- One-way string encryption (hashing)
 
  

       Jsp的脚本撰写格式为:
    declaration:<%! %>
    expression  <%= %>
    scriptlet:    <% %>
    Asp的脚本撰写格式为:
    expression  <%= %>
    scriptlet:    <% %>
    php的脚本撰写格式为:
    declaration:<?php ?>
    expression  <?php echo ?> or <?= ?>
    scriptlet:    <?php ?>
=======================JSP=======================
jsp declaration
<%! %>
jsp expression
<%=  %>
jsp include directive
<%@ include file="" %>
jsp page directive
<%@ page contentType="text/html; charset=GB18030" %>
jsp scriptlet
<%  %>
jsp taglib directive
<%@ taglib uri="" prefix="" %>
 
=======================PHP=======================
php declaration
<?php ?>
php expression
<?php echo ?>
php include directive
<?php include() ?>
php page directive

php scriptlet
<?php ?>
php taglib directive

 
 
其他常用的HTTP函数
header() -- 发送一个原始 HTTP 标头
headers_list() -- 返回已发送(或准备发送)的响应标头的列表
headers_sent() -- 检查标头是否已被发送以及在哪里被发送
setcookie() -- 发送一个 cookie 信息
setrawcookie() -- 发送一个其值未经 urlencode 编码的 cookie
页: [1]
查看完整版本: PHP学习笔记