`
csbison
  • 浏览: 149776 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PHP学习笔记

    博客分类:
  • web
阅读更多

   * 学习网址:
      
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是弱类型语言,所以有时会根据引用变量的环境,将变量自动转换为最适合的类型。(PHPMysql5程序设计》P40 line1.)
    *
类型强制转换
    
可以使用以下类型转换操作符,来对php中的变量进行类型强制转换:
    (array)
    (bool)
(boolean)
    (int)
(integer)
    (object)
    (real)
(double) (float)
    (string)

   3. php默认的界定符是 <?php ?> (PHPMysql5程序设计》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. PHP9预定义的超级全局变量,这些变量都是变量数组。
        * $_SERVER
        * $_GET
        * $_POST
        * $_COOKIE
        * $_FILES        
二维数组
        * $_ENV
        * $_REQUEST
        * $_SESSION
        * $_GLOBALS

6. 字符串
    
在双引号的字符串中,变量和转义序列都得到相应解析。
    
而在单引号中,则不会解析变量和转义序列(除了\' \\)
    
字符串的拼接操作符(.)       拼接赋值操作符(.=)
    
7. 
数组
    php不需要在创建数组时指定其大小,也不需要在使用数组前先行声明。不过你可以调用array()函数来创建数组。
    php
中的数组不仅有普通数组的基本功能,还有类似Map的功能。实际上,php 没有真正的类似javacollection的集合类。但数组的功能已经具备了Array,List,Map的作用了。
    P78 array()
函数,list()函数, range()函数,count()函数,sizeof()函数
    P78 =>
操作符

8. P100
定义函数
    P68
按引用传递参数;
    P73
变量函数
    P111
构造函数__construct()  )、析构函数__destruct()  )
    P125
反射。
    P189
执行系统函数
    P259
PEARPHP扩展与应用库
    P232 PHP
的回查特性(要配合Apache的回查特性)    $_SERVER['PATH_INFO'] 来取得路径信息

9.  通过配置制Apachehttpd.conf来配置错误处理。 例如配置404错误指向某个error.html页面。

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

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

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

14. 
PHPmysqli扩展
        如果想使用MySQL4.1以上版本的新特性,则需要采用PHPmysqli扩展
        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

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics