您现在的位置是:网站首页>>PHP>>php

php基础知识回顾 —— 常量

发布时间:2019-01-23 17:23:08作者:wangjian浏览量:489点赞量:0

在PHP中有这样一类变量,当变量值被定义之后,它的值就不可更改,这类变量我们称之为常量,常量分为我们自己定义的常量(常量)以及PHP自己预定义常量(魔术常量)两类

一:常量

常量是一个简单值的标识符。该值在脚本中不能改变。

一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。

注意: 常量在整个脚本中都可以使用

在PHP中我们使用define()来定义常量,在php5.3之后,我们可以使用const关键字在类定义的外部定义常量

定义常量

define()定义常量基本语法define ( string $name , mixed $value [, bool $case_insensitive = false ] )

参数说明:

name:必选参数,常量名称,即标志符。

value:必选参数,常量的值。

case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

例:<?php

// 区分大小写的常量名

define("TEST", "测试常量");

echo TEST;    // 输出 "测试常量"

const定义常量<?php

const TEST = '测试常量';

echo '测试常量';

const和define的区别:

1:使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数。另外const在编译时要比define快很多。

2:const用于类成员变量的定义,一经定义,不可修改。define不可以用于类成员变量的定义,可用于全局常量。

3:const可在类中使用,define不能

4:const不能再条件语句中定义常量

常量在定义后,默认是全局变量,可以在整个运行的php脚本的任何地方使用

二:魔术常量

php有八个魔术常量,分别为:__LINE__,__FILE__,__DIR__,__FUNCTION__,__CLASS__,__TRAIT__,__METHOD__,__NAMESPACE__

1:__LINE__(返回文件中当前的行号)

2:__FILE__(文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名)

3:__DIR__(文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录,等价于dirname(__FILE__))

4:__FUNCTION__(返回该函数被定义时的名字)

5:__CLASS__(返回该类被定义时的名字)

6:__TRAIT__:

自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits

例:

从基类继承的成员被插入的 SayWorld Trait 中的 MyHelloWorld 方法所覆盖。其行为 MyHelloWorld 类中定义的方法一致。优先顺序是当前类中的方法会覆盖 trait 方法,而 trait 方法又覆盖了基类中的方法<?php

class Base {

public function sayHello() {

echo 'Hello ';

}

}

trait SayWorld {

public function sayHello() {

parent::sayHello();

echo 'World!';

}

}

class MyHelloWorld extends Base {

use SayWorld;

}

$o = new MyHelloWorld();

$o->sayHello();

7:__METHOD__(返回该方法被定义时的名字)

8:__NAMESPACE__(返回当前命名空间的名称)

下面对于__TRAIT__进行额外说明

当有多个trait时,通过逗号分隔,在 use 声明列出多个 trait,可以都插入到一个类中

例:<?php

trait Hello {

public function sayHello() {

echo 'Hello ';

}

}

trait World {

public function sayWorld() {

echo 'World';

}

}

class MyHelloWorld {

use Hello, World;

public function sayExclamationMark() {

echo '!';

}

}

$o = new MyHelloWorld();

$o->sayHello();

$o->sayWorld();

$o->sayExclamationMark();

根据上面的魔术方法,可以获取当前脚本的文件名称substr(__FILE__,strlen(__DIR__)-strlen(__FILE__)+1)

0

+1

php基础知识总结大全,php基础知识回顾 —— 常量相关推荐

  1. 计算机应用基础名言名句大全,计算机应用基础实训指导书-上.doc

    计算机应用基础实训指导书-上.doc 计算机应用基础实训指导书(上) (2008-2009学年第一学期用书) 主编:宫莉莹 指导教师:____________ 班 级:____________ 姓 名 ...

  2. python基础语法入门大全_python 基础语法——快速入门

    今天来讲一些老生常谈,但凡学习一门语言都逃不过基本的语法,我们也来叨逼叨逼.不过不想事无巨细地讲,因为没有意义,估计讲完了大家都忘记了,我们挑钟爱你,其他的可以自学. 变量,学习一门语言第一件事可能是 ...

  3. 电子元器件从入门到精通pdf_电子元件入门基础,常用电子元器件详解大全作用-涨知识必读...

    1.电子元器件筛选的必要性 电子元器件的固有可靠性取决于产品的可靠性设计, 在产品的制造过程中, 由于人为因素或原材料. 工艺条件. 设备条件的波动, 最终的成品不可能全部达到预期的固有可靠性. 在每 ...

  4. Web前端工程师知识体系大全,Web前端入门基础体系

    Web前端工程师知识体系大全 什么?你上面说的太多太乱了,好吧下面的知识体系只要能掌握个六七成,就能找到个前端的碗了! Web前端基础知识体系大全

  5. 大学计算机技术知识大全,大学计算机全章节重点基础知识归纳大全.doc

    大学计算机全章节重点基础知识归纳大全 PAGE \* MERGEFORMAT 18 大学计算机基础重点归纳 第一章:计算机概论 19646年,第一台计算机,ENIAC 计算机分类(6):巨型,小巨型, ...

  6. 计算机硬件知识哪里学,计算机硬件基础知识 计算机硬件是由哪几部分组成的...

    在学习计算机的时候,自然就要对计算机的软硬件要了解,今天小编想要说的就是计算机硬件的相关知识,而重点所要说的就是计算机硬件的组成部分以及工作原理,有兴趣的朋友快来看一看吧. 计算机硬件基础知识--计算 ...

  7. 学习Java知识应该注意哪些基础原则

    想要做java程序猿,学习起来没有那么快的,尤其是零基础学员,java技术在学习的过程中是比较枯燥的,下面小编就为大家详细的介绍一下学习Java知识应该注意哪些基础原则,方便大家在学习的时候能够更加有 ...

  8. 零基础该如何学习Web前端知识?

    想要跳槽到IT行业人在近几年越来越多,大部分都是想要学习web前端技术,但是这其中有很多都是零基础学员,大家都想知道零基础该如何学习Web前端知识?我们来看看下面的详细介绍. 零基础该如何学习Web前 ...

  9. 计算机基本知识培训稿,计算机基础知识培训稿.doc

    计算机基础知识培训稿 计算机基础知识认识电脑 1.主机:是电脑最主要的设备,相当于人的大脑一样,几乎所有的文件资料和信息都由它控制,您需要电脑完成的工作也都由它主要负责,它还要给其他的电脑设备分配工作 ...

最新文章

  1. python avg函数_学习python第三天之多行函数
  2. Angular应用里setTimeout被如何被monkey patched的
  3. Event Logging 技术简介(转载)
  4. FXRibbon 1.2版发布
  5. 从平庸到杰出,技术人应该专注的底层知识是什么?
  6. “练好内功坚持被集成”,阿里云发布SaaS加速器
  7. [转]解决IE下CSS背景图片闪烁的Bug
  8. python做视频抽帧图_Python提取视频中图片的示例(按帧、按秒)
  9. numpy-np.random.permutation
  10. 《BGP设计与实现》一2.11 总结
  11. [转]中国著名黑客你知道多少?
  12. NotifyIcon控件的使用
  13. esp32 io速度_Adafruit HUZZAH32-ESP32Feather的说明
  14. 聚焦AWE2020 看小家电行业“风往哪吹”
  15. Visual Studio中的rc是什么文件
  16. 如何利用工具低成本构建腾讯云灾备方案?
  17. G120变频器准备就绪和运行指示信号解析
  18. 高质量的外链怎么去挖掘?
  19. Linux 系统进程、线程之间的爱恨纠葛
  20. GIT 与 GitHub简介

热门文章

  1. python# 完成“剪刀石头布游戏”:
  2. int 取值范围_一定范围内的随机数
  3. Linux: shell命令 eval (有图有代码有真相!!!)
  4. 驱动框架3——在内核中添加或去除某个驱动
  5. 【随笔】About QWERTY
  6. LC-BLSTM结构快速解读
  7. git clone 指定分支的内容
  8. [Uva10641]Barisal Stadium(区间dp)
  9. [3.30校内训练赛]
  10. BZOJ 2822: [AHOI2012]树屋阶梯 [Catalan数 高精度]