php基础知识点学习

php基础学习

一、PHP 服务器组件
包含了 PHP、Apache、Mysql 等服务,免去了开发人员将时间花费在繁琐的配置环境过程。

1. phpStudy(推荐)
php中文网旗下的phpstudy,国内经典的php环境搭建工具,可以快速搭建php运行环境!推荐使用phpstudy 2018或者phpstudy V8版本

2. WampServer
Window 系统可以使用 WampServer,支持32位和64位系统,可根据自己的系统选择版本。

3. XAMPP
XAMPP 支持 Mac OS 和 Window 系统

二、IDE (Integrated Development Environment,集成开发环境)

  1. Eclipse for PHP(免费)

  2. PhpStorm(收费)
    PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提供用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。PhpStorm 非常适合于PHP开发人员及前端工程师。提供诸于:智能HTML/CSS/JavaScript/PHP编辑、代码质量分析、版本控制集成(SVN、GIT)、调试和测试等功能。

三、PHP - 数组排序函数
php数组排序的方法有哪些?

sort() - 对数组进行升序排列

rsort() - 对数组进行降序排列

asort() - 根据关联数组的值,对数组进行升序排列

ksort() - 根据关联数组的键,对数组进行升序排列

arsort() - 根据关联数组的值,对数组进行降序排列

krsort() - 根据关联数组的键,对数组进行降序排列

四、PHP 超级全局变量

PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

php超全局变量有哪些?

PHP 超级全局变量列表:

1、 G L O B A L S 2 、 GLOBALS 2、 GLOBALS2_SERVER
3、 R E Q U E S T 4 、 _REQUEST 4、 REQUEST4_POST
5、 G E T 6 、 _GET 6、 GET6_FILES
7、 E N V 8 、 _ENV 8、 ENV8_COOKIE
9、$_SESSION

$_SERVER 变量中的重要元素:

元素/代码 描述
$_SERVER[‘PHP_SELF’]

当前执行脚本的文件名,与 document root 有关。例如,在地址为 http://example.com/test.php/foo.bar 的脚本中使用 $_SERVER[‘PHP_SELF’] 将得到 /test.php/foo.bar

$_SERVER[‘GATEWAY_INTERFACE’]
服务器使用的 CGI 规范的版本;例如,“CGI/1.1”。

$_SERVER[‘SERVER_ADDR’]
当前运行脚本所在的服务器的 IP 地址。

$_SERVER[‘SERVER_NAME’]
当前运行脚本所在的服务器的主机名。如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定。(如: www.php.cn)

$_SERVER[‘SERVER_PROTOCOL’]
请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。

$_SERVER[‘REQUEST_METHOD’]
访问页面使用的请求方法;例如,“GET”, “HEAD”,“POST”,“PUT”。

$_SERVER[‘QUERY_STRING’]
query string(查询字符串),如果有的话,通过它进行页面访问。

$_SERVER[‘HTTP_ACCEPT’] 当前请求头中 Accept: 项的内容,如果存在的话。

$_SERVER[‘HTTP_ACCEPT_CHARSET’] 当前请求头中 Accept-Charset: 项的内容,如果存在的话。例如:“iso-8859-1,*,utf-8”。

$_SERVER[‘HTTP_HOST’]
当前请求头中 Host: 项的内容,如果存在的话。

$_SERVER[‘HTTPS’]
如果脚本是通过 HTTPS 协议被访问,则被设为一个非空的值。

$_SERVER[‘REMOTE_ADDR’]
浏览当前页面的用户的 IP 地址。

$_SERVER[‘REMOTE_HOST’]
浏览当前页面的用户的主机名。DNS 反向解析不依赖于用户的 REMOTE_ADDR。

$_SERVER[‘REMOTE_PORT’]
用户机器上连接到 Web 服务器所使用的端口号。

$_SERVER[‘SERVER_PORT’]
Web 服务器使用的端口。默认值为 “80”。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。

五、PHP魔术常量

1、LINE 文件中的当前行号。

实例:

<?php echo '这是第 “ ' . __LINE__ . ' ” 行'; ?>

以上实例输出结果为:
这是第 “ 2 ” 行

2、FILE
文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
自 PHP 4.0.2 起,FILE 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。

实例:

<?php echo '该文件位于 “ ' . __FILE__ . ' ” '; ?>

以上实例输出结果为:
该文件位于 " E:\wamp\www\test\index.php "

3、DIR
文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。

它等价于 dirname(FILE)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增)

实例:

<?php echo '该文件位于 “ ' . __DIR__ . ' ” '; ?>

以上实例输出结果为:
该文件位于 “ E:\wamp\www\test ”

4、FUNCTION
函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。

实例:

<?php function test() { echo '函数名为:' . __FUNCTION__ ; } test(); ?>

以上实例输出结果为:
函数名为:test

5、CLASS
类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。

在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 CLASS 对 trait 也起作用。当用在 trait 方法中时,CLASS 是调用 trait 方法的类的名字。

实例:

<?php class test { function _print() { echo '类名为:' . __CLASS__ . "
"; echo '函数名为:' . __FUNCTION__ ; } } $t = new test(); $t->_print(); ?>

以上实例输出结果为:
类名为:test
函数名为:_print

6、METHOD
类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。

实例:

<?php function test() { echo '函数名为:' . __METHOD__ ; } test(); ?>

以上实例输出结果为:
函数名为:test

7、NAMESPACE
当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

实例:

<?php namespace MyProject; echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject" ?>

以上实例输出结果为:
命名空间为:“MyProject”

六、面向对象内容

1、类 − 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。

2、对象 − 是类的实例。

3、成员变量 − 定义在类内部的变量。该变量的值对外是不可见的,但是可以通过成员函数访问,在类被实例化为对象后,该变量即可称为对象的属性。

3、成员函数 − 定义在类的内部,可用于访问对象的数据。

4、继承 − 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

PHP 使用关键字 extends 来继承一个类,PHP 不支持多继承,格式如下:
class Child extends Parent {
// 代码部分
}

5、父类 − 一个类被其他类继承,可将该类称为父类,或基类,或超类。

6、子类 − 一个类继承其他类称为子类,也可称为派生类。

7、多态 − 多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。

8、重载 − 简单说,就是函数或者方法有同样的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。

9、抽象性 − 抽象性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。
抽象类
任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。

定义为抽象的类不能被实例化。

10、封装 − 封装是指将现实世界中存在的某个客体的属性与行为绑定在一起,并放置在一个逻辑单元内。

11、构造函数 − 主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
function __construct( $par1, $par2 ) {
$this->url = $par1;
$this->title = $par2;
}

12、析构函数 − 析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做"清理善后" 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。
function __destruct() {
print "销毁 " . $this->name . “\n”;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值