原文来自:http://www.cnblogs.com/sows/p/5995763.html (博客园的)风马一族 侵犯版本,后果自负


回顾

  什么是php以及php的发展史

  1. 搭建web服务器
    1. apache:接收浏览器发出的请求以及返回结果(html)
    2. php: 处理php代码,操作数据库(mysql)
    3. mysql: 存储和处理数据
  2. apache配置php
    1. 加载:LoadModule php5_module  php5apache...dll
    2. 分配: addType application/x-httpd-php  .php
    3. php配置文件:PHPIniDir  php配置文件路径
  3. php配置mysql
    1. 开启扩展:extension  php_mysql.dll
    2. 增加扩展路径: extension_dir php_mysql.dll 所在的路径
  4. apache工作原理
    1. 静态页:apache拿到文件后直接读出内容交给浏览器
    2. php文件:apache拿到文件后交给php引擎处理,php把处理后生成的html文件交还给apache(php有可能操作数据库:利用mysql扩展),apache将得到的html内容返回浏览器
  5. web的工作原理(类似于4)
  6. 基于域名的虚拟主机配置:httpd.conf 加载httpd_vhost.conf,httpd_vhost.conf配置虚拟主机
    1.   注意
      1. 注释或者删除原本httpd_vhost.conf里的虚拟主机
      2. 必须配置一个或者以上的虚拟主机
      3. 需要增加一个localhost的虚拟主机

---------------------------------------------------------------------------------------

PHP的工作

  php是一种脚本语言,嵌入到html代码中。

  如果文件本身不以.php结尾的话,那么该文件apache不会交给php处理,所以会将php代码原封不动的交给浏览器,而浏览器又不能解析php代码,所以就不会输出最终php代码所需要执行的结果

  1:在html文件中嵌入php代码

  

    2. 在php文件中,html嵌入php代码

    

    注意:凡是以.php结尾的文件,apache都会交给php引擎处理。php引擎是选择性处理,只处理php代码,不会处理其他非php代码

---------------------------------------------------------------------------------------------------------------

php独立文件

  没有其他代码(html),纯粹都是php代码。(不需要借助apache工作,只需要php引擎)需要使用php.exe文件去运行php文件

  

---------------------------------------------------------------------------------------------------------------

php基础知识

  php标签

     1. 常用标签

     <?php

        //php代码

   ?>

  是最常见一种标签方式

2. php脚本标签

  <script language="php">

         //php代码

      </script>

      

     注意:脚本标签的方式很少用,因为容易与javascript的标签混淆

    3. 短标签

      PHP默认不支持短标签,需要在配置文件中设置     D:\service\php\php.ini

        

     <?

        //php代码

     ?>

     效果

     

      注意:默认的,php已经不支持短标签语法,需要在配置文件中开启

  PHP注释

   php注释有两大类:单选注释和块注释(多行)

  1. 单行注释有两种
    1. 双斜杠: //
      1. //输出  hello
      2. echo "hello";
    2. #号:  #
      1. # 输入 hello 
      2. echo "hello";  
  2. 块注释    /* 注释内容  */
    1. /*
       *  函数功能  
       *  @param 参数解释
       *  @return 返回值解释
       *
       *   @author 作者 
       *   @2016-10-25
      */
    2. 效果
    3. 注意:PHP在解析PHP代码的时候,会跳过注释,不会保留注释信息

  PHP变量  

  1. 语法:$变量名

    1. 例子

      1. $name            

      2. $number
      3. $sex
      4. $age
    2. 变量命名规则
      1. 必须以$符号开始
      2. 变量名可以由字母,下划线和数字自由组合
      3. 不能以数字开头
      4. 可以是中文
      5. 变量命名通常需要见名之意
      6. 变量名字有多个单词组成的时候,可以使用两种方式
        1. 驼峰法:schoolNameSex
        2. 下划线:school_name_sex
      7. php中变量一般是在定义的时候就赋值
    3. 语法错误  
  2. 弱类型语言
    1. 指的是变量可以为任意类型,而不需要指定具体类型。

 一、使用变量

      直接使用变量即可:前提条件是当前变量已经被赋值(定义)

      输出:echo $变量名;

      判断:if( $变量名 == ‘值’)

      

  二、修改变量

    将原有变量进行重新赋值

    //定义变量

    $age = 20

    //修改变量

    $age =34

    

    echo $age   //34

  三、删除变量

    将变量所指向的值给释放掉(将变量本身释放)

    unset(变量名)

    //输出已经释放的变量

    $age = 10;

    unset($age)

    echo $age  //错误未定义

    

  php常量

    一旦被定义,就不能被修改,只能被使用的‘量’叫做常量。

    

  一:语法

      define('常量名',常量值);

  二:常理使用的语法

  1. 直接使用常量名
  2. 不能加 $   不然会出错误

  三:常量的使用

    1. 某个值不需要变化的时候。例如数字常量PI
    2. 用于整个网站
    3. 凡是能使用常量去做的事情都可以使用变量去替代。常量是用来规范保证数据不被修改。

      

  四:常量命名规则

  1. 常量不能使用$符号
  2. 其他命名规则与变量基本一致
  3. 常量命名通常使用全部大写字母,多单词的常量都是使用下划线方式。
  4. 常量与变量一样都区分大小写    

  五:变量与常量的内存原理图

  

  六:php脚本执行结束后内存是如何处理的?

  1. 什么叫做PHP脚本执行结束?
    指的是当PHP引擎将用户请求的某个php脚本文件(index.php)的最后一行PHP代码执行完毕,称之为脚本执行结束
  2. 脚本结束后内存如何处理?
    PHP脚本所占用的所有内存都会被释放、被操作系统回收

  七:注意

  1. 结束标签
    1.   结束符号可以不存在,条件是文件中的PHP代码后面没有其它语言的代码
    2.   结束符号若存在,则结束符号后面存在空格的话,空格会当作Html代码发出,后果是空格相当无用的代码,浪费带宽
    3.   php代码嵌入html中,最好使用结束符号,减少错误出现
  2. 结束语句的结束符号: 英文符号 ;
    1.   若存在结束标签,最后一句中,可以不使用结束符号      
    2. 若不存在结束符号,则每句都要使用结束符号
  3. 常量的定义比变量更加松散
  4. 变量与常量的命名建议
    1.   不使用中文使用变量名
    2.   所有的变量或者常量,都建议使用字母配合下划线的方式去实现,变量中还可以配合数字

 ----------------------------------------- 

数据类型

  数据类型是针对各种(变量)值而言,而不是针对变量本身

  1. PHP有三大数据类型:标量、复合、特殊  、
  2. 标量数据类型(简单数据类型)
    1. 整型
      1. int   integer  、
      2. 整型在系统内存中占4个字节保存数据
    2. 浮点型
      1. float   double(PHP没有这个) 
      2. float占用8个字节(这是PHP规定的大小) 
      3. 浮点数会丢失精度,因而通常不使用浮点数来比较大小
      4. 一般对于精确要求不是那么高的,但是数据又特别大时,可以使用浮点数,其它情况一般使用整型
    3. 时间戳
      1. 从1970年到当前时间的秒数称之为时间戳
      2. php提供了一个函数:time()
        1. 获取时间戳
        2. 效果
        3. 使用Date() ,可以格式化时间
    4. 字符串  string
      1. 凡是带引号包好的字符都可以称之为字符串
      2. 字符串的表示方式
        1. 单引号
          1. 将字符串用单引号包裹起来  
        2. 双引号
          1. 将字符串用双引号包裹起来
          2. 与单引号的不同之处有:
            1. 双引号中能够使用更多的转义字符
            2. 能够解析PHP变量
          3. 在两个字符串连接,不出现空格的方法
            1. 使用点
            2. 使用中括号
            3. 效果
        3. 定界符
               
          使用一种特殊的符号 <<<  ,增加一对起始和结束标识来包括字符串
          1. 语法
            $str=<<<EOD
              //字符串
            EOD;    //这句话只能单独占用一行,且在行头处,不能有空格 (不然会出错)
          2. 效果
          3. 定界符使用规则
            1. 定界符的边界符号必须成对
            2. 右定界符必须顶格
            3. 两个定界符后面都不能跟任何其他内容  
          4. 定界符的意义
            1. 为了让双引号对应的字符串在编写的时候查看
            2. 定界符能够在输出之后保证原来的数据格式 
            3. heredoc结构就是以上所讲的定界符,对应双引号功能
               $str=<<<eof 

               eof;

            4. nowdor结构也是以上结构,只是对应单引号功能
               $str=<<<'eof' 

               eof;

          5. 佛日:单引号比双引号的字符串效率要高,因为单引号不需要去解析其中的变量等内容,只要直接输出即可。  
    5. 布尔
      1. bool  Boolean     , 只有两个值true和false
      2. 效果   val_dump(值或变量)   用来测试变量或值的类型
      3. 哪些数据会被当做False处理?
        1. 需要通过比较的形式来判断是否为False
          1. 0:整型0

            0.0:浮点0

            ‘0’:字符串0

            null:空

            ‘’:空字符串

  3. 复合数据类型
    1. 数据
    2. 数组
  4. 特殊数据类型
    1. NULL: 定义的变量的值为NULL或者变量被删除
      1. 效果
    2. 资源: 所有外部数据的操作全部称之为资源类型数据
      1. 例如: PHP操作数据库中,mysql_connect连接成功返回的一个结果称之为资源(连接资源) 

进制转换

  二进制、八进制、十进制、十六进制等间的转化

系统预定义变量

  系统定义的变量称之为预定义变量,预定义变量有9个

  1. $_POST: 接收用户表单post方式提交的所有数据
  2. $_GET: 接收用户表单get方式提交的所有数据
  3. $_REQUEST: 接收用户get方式,post方式提交的数据,还有cookie数据
  4. $_FILES:接收用户上传的文件信息
  5. $_SEEEION: 存放session数据(存放在服务器)
  6. $_COOKIE: 存放cookie数据(存放在浏览器)
  7. $_GLOBALS: 全局变量
  8. $_SERVER: 保存服务器信息 (掌握几个常用的数据)
  9. $_ENV: 保存系统环境信息

系统预定义常量

  1. PHP_OS: 操作系统内核
  2. PHP_VERSION: 当前PHP的版本
  3. PHP_INT_SIZE: int类型所占的字节数
  4. PHP_INT_MAX: int类型能表示的最大值
  5. 魔术常量: 可以自动变化的常量
    1. _FILE_: 当前脚本的文件路径(绝对路径)
    2. _LINE_: 当前所在的行数
    3. _DIR_: 当前脚本所在的目录 (PHP4才有)
    4. _FUNCTION_: 当前函数的名字
    5. _METHOD_: 当前方法的名字(类中的函数)

可变变量

  通过一个得到一个变量的值,将该值再次当做一个变量名从而得到另外一个变量的值

  即变量的值,当作另个值的变量

  

传值

  变量间的赋值

  1. 变量间的传值分为两种:值传递和引用传递
      1. 值传递 
        1. 将一个变量的值赋值一份,然后赋值给新的变量
        2. 一个变量的变更不会影响另外一个变量的变更

    1. 引用传递
      1. 将一个变量的地址赋值给新的变量
      2. 在给变量赋值的时候,使用地址符号&获得一个变量的地址
  2. unset 原理
    1. 图解
  3. 交换变量值 (两个变量都是整数)
    1. 使用第三个变量来让两个变量的值的交换
    2. 不使用第三个变量交换两个变量的值  

          

     

【风马一族_php】NO2_php基础知识的更多相关文章

  1. 【风马一族_php】NO3_php基础知识

    原文来自:http://www.cnblogs.com/sows/p/6001079.html(博客园的)风马一族 侵犯版本,后果自负 回顾 PHP基础语法 1.标签:<?php //PHP 代 ...

  2. 【风马一族_php】NO5_php基础知识_数组

    原文来自:http://www.cnblogs.com/sows/p/6032570.html (博客园的)风马一族 侵犯版本,后果自负 回顾 匿名函数 定义: 变量 = function [参数列表 ...

  3. 【风马一族_php】NO4_php基础知识

    原文来自:http://www.cnblogs.com/sows/p/6017018.html(博客园的)风马一族 侵犯版本,后果自负 回顾 运算符:算术运算符.逻辑运算符.比较运算符.位运算符.赋值 ...

  4. 【风马一族_php】NO1_用php发出一声 Hi

    原文来自:http://www.cnblogs.com/sows/p/5990157.html  (博客园的)风马一族 侵犯版本,后果自负 第一步 安装WEB服务器 http://www.cnblog ...

  5. 【风马一族_php】NO0_搭建web服务器

    原文来自:http://www.cnblogs.com/sows/p/5977996.html  (博客园的)风马一族 侵犯版本,后果自负 安装apache apache是一种B/S结构的软件,apa ...

  6. 【风马一族_php】

    原文来自:http://www.cnblogs.com/sows/p/6054383.html  (博客园的)风马一族 侵犯版本,后果自负 2016-11-11   15:13:51 回顾 数组:分配 ...

  7. 【风马一族_php】数组函数

    原文来自:http://www.cnblogs.com/sows/p/6045699.html (博客园的)风马一族 侵犯版本,后果自负  2016-11-09 15:56:26 数组 函数 php- ...

  8. 【风马一族_php】PHP与Mysql建立连接

    让php发出 Hi作为基础 http://www.cnblogs.com/sows/p/5990157.html 配置apache      ../apache/conf/httpd.conf 创建p ...

  9. 【风马一族_php】PHP运算

    运算 算术运算符 <?php //加法 $num1 = 10; $num2 = 43; echo $num1 + $num2; echo " "; var_dump($num ...

随机推荐

  1. Go语言cookie的基本操作

    cookie数据结构介绍 cookie数据结构介绍 a. Expires,cookie过期时间,使用绝对时间.比如2018/10/10 10:10:10b. MaxAge,cookie过期时间,使用相 ...

  2. CentOS 6.5 Apache+SVN使用户可以自己修改密码

    yum -y install php #安装php mkdir /var/www/svnadmin #建立页面目录 vi /var/www/svnadmin/index.php #创建index.ph ...

  3. 高性能非阻塞 Web 服务器 Undertow

    Undertow 简介 Undertow是一个用java编写的.灵活的.高性能的Web服务器,提供基于NIO的阻塞和非阻塞API. Undertow的架构是组合式的,可以通过组合各种小型的目的单一的处 ...

  4. xshell下载免费版

    正在使用的xshell 5不能使用,提示xshell 5评估期已过,重新安装还是不行.其实xshell 5有免费版的,即Home & school 版本.卸载原程序,下载安装免费版本的xshe ...

  5. c++新特性实验(5)声明与定义:属性列表(C++11 起)

    1.初识属性 1.1 实验A: noreturn 属性 [[ noreturn ]] static void thread1(void *data){ cout << "nore ...

  6. Linux 文本处理三剑客之grep

    文本处理都要使用正则表达式,正则表达式有: 基本正则表达式:grep或者egrep -G 扩展正则表达式:egreo或者grep -E Linux 文本处理三剑客: sed:stream editor ...

  7. Eclipse安装Spket插件

    Eclipse安装Spket插件 1.在线安装,地址:Spket - http://www.agpad.com/update 2.下载插件包安装, 地址:http://www.spket.com/

  8. 关于golang中某些包无法下载的解决方法

    由于某些不可描述的原因,我们 在go module 环境下(啥?这个不知道是啥?赶紧恶补下)进行go get xxxx时,会发现一些依赖库无法访问(不要问为什么无法访问). 解决办法 戳这里:http ...

  9. springmvc框架使用拦截器实现301永久重定向,其实用过滤器应该是更好

    做seo的朋友提出要求 所有不带www.的访问需要301到带www的域名,以集中权重 可以使用过滤器检查servername带不带www,也可以使用拦截器 不会配置过滤器,所以先用拦截器实现吧,不过我 ...

  10. 使用tomcat部署多个站点,访问时当然不能带上下文路径咯

    参考 http://blog.sina.com.cn/s/blog_6341fc0f0100lzaj.html tomcat的server.xml文件(比如C:\Program Files\Apach ...