PHP基础知识

PHP基础知识_第1张图片
image.png

1.php定义String的几种形式:


PHP基础知识_第2张图片
image.png

php并不能解析出str1里单引号里的变量,也不能解析出str4里的变量。

2.php定义数组


PHP基础知识_第3张图片
image.png

和Java的区别:php数组的下标可以是字符串

3.php变量


PHP基础知识_第4张图片
image.png

4.php常量


PHP基础知识_第5张图片
image.png

php常量定义是以下划线或者字母开头,字母为大写。
php预定义常量是以双下划线开头,双下划线结尾。

php魔术常量

PHP基础知识_第6张图片
image.png

5.php一些流程控制
include、require、include_once、require_once
include和require不同:当include找不到文件,会报警告,但是还是会继续执行,而require找不到文件时,它会产生致命错误,不再往下执行。

6.php定义方法


PHP基础知识_第7张图片
image.png
  • 可变函数


    PHP基础知识_第8张图片
    image.png

    把一个函数名赋值给一个变量,通过调用这个变量,来调用这个函数。

  • 内置函数(主要是操作字符串、数组等之类的方法)
  • 匿名函数(更多的是作为Callback)


    PHP基础知识_第9张图片
    image.png

    array_walk — 使用用户自定义函数对数组中的每个元素做回调处理.

OOP

  1. Classes and Objects
    php构造方法:__construct
    析构函数:__destruct
    对象调用非静态属性用->
    如果是访问静态的或者是常量,或者子类里面调用父类的东西的话,用::
  2. $this 调用本类中的非静态属性
type = 'A';

        echo "constructing{$this->type}\n";
    }

    public function __destruct() 
    {
        echo "Destroying A\n";
    }

    public function hi()
    {
        echo 'method hi run: ' . self::TYPE . "\n";
    }

    public static function staticFun()
    {
        echo 'method staticFun run: ' . self::TYPE . "\n";
    }
}
$a = new A();
    $a->hi();
    echo A::staticFun();
    echo A::TYPE;

如果子类有构造函数,那么就不会调用父类的构造函数,如果想要调用,可以在子类构造函数里面输入
parent::__construct;

  1. 类的自动加载
    spl_autoload_register函数

  2. Trait
    当子类中调用Trait,Trait里有一个方法和父类的方法名一样,那么Trait就会覆盖这个方法,但如果子类中也有一个和Trait方法名相同的方法,那么子类的这个方法就会覆盖Trait里的这个方法。

如果子类里面有和Trait里相同的属性,那么除非它们的值相同,否则会报错。

  1. 魔术方法
    __construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(),__wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo() 等方法在 PHP 中被称为"魔术方法"(Magic methods)。在命名自己的类方法时不能使用这些方法名,除非是想使用其魔术功能。
  2. 有关文件的方法
    file_put_contents()
    file_get_contents()

你可能感兴趣的:(PHP基础知识)