PHP

  1,定义:动态交互的计算机语言,弱类型语言

      静态交互  html  css   js

      凡是动态交互的都需要服务器phpstudy

  2,使用集成服务器phpstudy

    apache   服务器

    mysqi   数据库

    WWW    是根目录,写好的项目放在根目录下面打开

           打开方式---ipv4地址+:8088+目录

           如何访问---https:// 域名  / ip地址:端口

  3,php都是以php结尾的文件

      http文件里面不能写PHP代码,但是PHP文件可以嵌套html代码

  4,对比template.js  underscore 中的template

      html  该怎么写怎么写

      js    <%    %>

  5,PHP模板

      html   该怎么写怎么写

      php    <? php    ?>

  6,语法

      <? php      php代码    ?>

      //  /*  */  注释  快捷键 Ctrl + ?

      echo  print  输出语句

  7,变量

      -变量的命名  区分大小写

      -变量的标志  $

      -变量的赋值  =赋值运算  从右往左

              $a=2;  存放2的数据空间的地址赋值给变量a

       -变量的主要功能  

         存储数据

           如果=右边是基本数据类型,PHP会默认把地址和数据空间为一体,直接赋值给a

           但是基本数据类型的赋值可以直接忽略地址,直接操作数值

           $a=2;  $b=$a;   2

           如果我们想把地址赋值给变量,需要在前面加上一个地址符&,他的赋值就是操作地址,不再是操作值;

            

             

  8,PHP的数据类型

      基本:int  float  Boolean  string

      复合:array  object

      特殊:null  resource(资源)

  9,变量的作用域

      local 局部  global 全局  static 静态  parameter 参数

      -local 局部    函数内的都是局部作用域

      -global 全局  函数外的都是全局作用域

      和JS作用域的区别:

        js中有作用域链,PHP没有

        php中全局作用域不能访问局部的,局部也不能访问全局,得手动操作

        局部非要访问全局变量,在局部变量加关键字 global

        

      -static静态  

        函数调用完毕之后,会自动消除内存,但有时我们需要函数内的一个变量不被销毁,PHP使用static就解决了

            

      -parameter参数  isset()判断变量是否设置(赋值),返回值是Boolean

               

  10,复合(数据)类型

      array   object

      针对变量,PHP是弱类型语言,是什么类型跟你声明的时候没关系,跟你赋值的时候有关系

      var_dump() 返回变量的数据类型和值

      

  11,字符串

      1)幷置运算

        js中拼接用+

        PHP中叫幷置 .

           

        注意 php的汉字出现乱码 我们需要在php的第一行添加

        header("Content-Type: text/html;charset=utf-8")

      2)strlen()返回字符串的长度

        一个字母一个字符长,一个汉字三个字符串

        

      3)运算符

         四则运算  + - * /

         赋值运算  $a+=2  $a=$a+2

         自增自减  $a++  ++$a

         比较运算符  等于== 主要用于判断   ===值与类型相同    ==值相同

         逻辑运算  || &&  !  || 有一个为true 就返回true  && 都得为true 才返回true

         三目运算  条件?echo1:echo2

         求余运算  %  echo 8%5; 3

  12,php流程语句

      php代码执行  从上至下

      条件语句:if else   switch

      循环语句:for  while  do while  foreach

           foreach 是针对关联数组的array()

           Array(“name”=>”zhang”,”age”=>12)  这种写法我们叫关联数组

           Php中没有json格式,但是对于前端来说,要json格式。

           Php提供了一个方法叫 json_encode() 将数据转换成json格式

           

           注意 while和do while:

              While是先判断后执行,do while 先执行后判断

  13,数组

      1)数组  $arr=[“zhang”,”li”]    $a=array(“yuan”,”ni”)

      2)关联数组  $arr=array(“name”=>”zhang”,”age”=>56)

      3)多维数组  获取数组长度的方法  count()  Is_array() 判断一个变量是不是数组

  14,函数

      PHP自定义函数和内置函数

      使用关键字function定义函数  function(){}

      函数调用的时候会开辟内存空间,里面有栈和堆,调用完毕之后这个内存就会被销毁

      函数作用域:local  global  static   parameter

      global变量都会存在一个叫$GLOBALS数组中

        

  15,函数的传参

      1)参数传参

          

      2)默认传参  默认与普通同时传,注意顺序问题

          

      3)在js中函数自身有一个arguments的属性,叫实参构成的数据集合

        Func_num_args() 获取实参的个数

          

        Func_get_args() 获取实参构成的集合

          [222,1]

          Func_get_arg(index) 获取具体的某一个参数

          

      4)递归函数

        函数内部调用函数本身

        

     5)引用传参

        将变量的地址传进去,函数内部如果修改了这个地址里的值 函数外也会跟着改

        

  16,PHP常量

      PHP常量,设置define函数,并且常量都是全局的,在函数内部也可以访问

        

      超全局变量  数据类型都是array

        $GLOBALS   php中所有全局变量都会自动存放在这个数组中

        默认有5个值

           $GLOBALS[“_GET”]

          $GLOBALS[“_POST”]

          $GLOBALS[“_COOKIE”]

          $GLOBALS[“_FILES”]

          $GLOBALS[“GLOBALS”]

          $GLOBALS[“_GET”]  所有前台用get方法提交的字段 都存在这个数组了

          $GLOBALS[“_POST”] 所有前台用post方法提交的字段 都存在这个数组了

          $GLOBALS[“_COOKIE”]  存放cookie

          $GLOBALS[“_FILES”]  存放文件的信息

          $_SERVER  所有跟服务器有关的信息存在这里

          $_REQUEST   用于收集表单提交的信息  不管是get还是post

          $_GET  用于收集前台get方式提交的数据

          $_POST 用于收集前台post方式提交的数据

  17,directory目录

      创建目录 mkdir(“a”)

        如果没有aa这个目录,就创建一个a文件,返回值是true

        如果存在这个a文件夹,不创建,返回false

      错误抑制符  @ 返回值是false,但是不报错

      删除目录 rmdir(“a”)

        第一次删除返回值是true,如果没有删除就继续删除,返回值是false

      打开目录 opendir(“a”)

        返回值是一个resource()of type (stream)这是一个新的数据类型,叫资源数据类型

        得到的是一个句柄,用于操作资源

      读取目录 readdir(句柄)

        读取的时候,他会自动逐个逐个在目录中读取资源,知道全部读取完毕,然后返回false

      关闭目录 closedir(句柄)

  18,文件操作方法

      打开文件的方法 fopen(filename,model)

        读取正确返回的是句柄,否则返回false

        

    读取文件的内容 fread(参数1,参数2)

      参数1:fopen()返回的是句柄

      参数2:读取的是字节长度

        最多返回十个字符

    fwrite(参数1,参数2,参数3)

      参数1:fopen()返回的句柄

      参数2:写入的string

      参数3:写入的最大字节数目

      如写入成功,返回文件内容的字符长,否则返回false

        

  19,魔术常量

      __LINE__ 当前行数

      __FILE__  文件的完整路径

      __DIR__ 文件的目录

      __FUNCTION__  当前所在的方法名

      __CLASS__ 当前所在的类名

      __NAMESPACE__ 当前的所在命名空间名

      __METHOD__ 当前所在的函数/方法名

  20,php引入文件

      Include和require

       

PHP之面向对象(上)的更多相关文章

  1. java第三节 面向对象(上)

    //第三讲 //面向对象(上) /* 理解面向对象的概念 面向过程 在一个结构体中定义窗体的大小,位置,颜色,背景等属性,对窗口操作的函数窗口本身的定义没有任何关系 如HideWindow, Move ...

  2. 【Java基础】面向对象上

    面向对象上 这一章主要涉及 Java 类及类的成员,包括属性.方法.构造器:代码块.内部类. 面向过程与面向对象 面向过程(Procedure Oriented Programming,POP)与面向 ...

  3. python学习笔记六 初识面向对象上(基础篇)

    python面向对象   面向对象编程(Object-Oriented Programming )介绍   对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性 ...

  4. Java和C#在面向对象上语法的区别

    做了几年了开发一直没有总结什么,回到了家乡的小城做了一名培训班的教员,教授软件开发的知识.细小的知识从头细细嚼来,别有一番滋味.或是以前遗漏的太多,或是确实没有系统的学习过,教学生的过程中自己也对教材 ...

  5. Python之路第七天,基础(9)-面向对象(上)

    面向对象的编程思想 回想 我们所学过的编程方法: 面向过程:根据业务逻辑从上到下写堆叠代码. 函数式编程:将重复的代码封装到函数中,只需要写一遍,之后仅调用函数即可. 面向过程编程最易被初学者接受,其 ...

  6. Java基础学习(三)—面向对象(上)

    一.理解面向对象       面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节:这种思想是将数据作为第一位,而方法或者说是 ...

  7. Java编程基础-面向对象(上)

    一.面向对象的概念 1.概念:面向对象是把解决的问题按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题.当然,一个应用程序会包含多个对象,通过多个对象的相互配合来实现应用程序的功能.这 ...

  8. Java学习笔记(面向对象上)

    面向对象(上) 面向对象的特点:封装性(是面向对象的核心思想,将对象的属性和行为封装起来).继承性(主要描述类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展)和多态 ...

  9. Python 面向对象(上)

    一. 什么是面向对象? 1. 在了解面向对象之前,首先我们需要知道两个概念:(1)什么是函数?函数是对功能或动作的一种封装.函数的语法结构如下: def func(arg1): '''函数的内部有函数 ...

  10. Java基础语法04面向对象上-类-属性-方法-可变参数-重载-递归-对象数组

    类 面向对象是一种思想,一般指将事务的属性与方法抽出总结为模板(类/class),处理事务时通过类创建/new出对象由对象的功能/方法去完成所要计算处理的事情. 面向过程:POP:以过程,步骤为主,考 ...

随机推荐

  1. 07.进程管理+作业控制+文件查找与压缩+文件压缩与打包+tar打包解包+NFS

    进程管理 程序放在磁盘上叫文件,把它复制到内存,并在cpu运行,就叫进程, 进程多少也反映当前运行程序的多少 进程在系统中会为每个进程生成一个进程号,在所有的进程中有一个特殊进程即init进程, 它是 ...

  2. angular 学习记录

    3章3小结 路由传参的3种方式和路由快照,订阅, @相同路由的跳转(只是参数不同),并不会触发Oninit ,因为没有重新创建component @子路由 //此种情况 是当我路由地址是 ../Hom ...

  3. eclipse打可运行的jar

    参考:https://www.cnblogs.com/wangzhisdu/p/7832666.html 用eclipse打包可运行的jar比较坑的地方: 3.1 从下拉框选择该jar的入口文件,即m ...

  4. Gson:

  5. 实验1 C语言开发环境和数据类型、运算符、表达式

    #include <stdio.h> int main () { int x; printf("输入一个整数:\n"); scanf("%d",&a ...

  6. Linux学习笔记-第4天- linux命令有很多,不要求全会,常用的一定要能够熟练使用

    linux命令就像单词,有很多.词汇量固然越大越好,但是常用基础命令一定要做到熟练应用. 同时学习不是死记硬背,排错能力同等重要,要理解其命令背后的运行机制,这样才能在翻车时 及时救场.

  7. ABP 下载源码报错

    ASP.NET Boilerplate 下载地址应该是这个:https://github.com/aspnetboilerplate/aspnetboilerplate/tree/v1.5.2 下载的 ...

  8. <DFS & BFS> 130 127

    130. Surrounded Regions BFS: 把所有边界上的O先换成A(标记),再深度遍历周围的点. 最后把O换成X(表示不符合要求),所有的A换回O class Solution { p ...

  9. Oracle 10G RAC集群安装

    一,基本环境配置 01,hosts cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.loc ...

  10. 基于Kafka的实时计算引擎如何选择?Flink or Spark?

    1.前言 目前实时计算的业务场景越来越多,实时计算引擎技术及生态也越来越成熟.以Flink和Spark为首的实时计算引擎,成为实时计算场景的重点考虑对象.那么,今天就来聊一聊基于Kafka的实时计算引 ...