php基础知识总结大全,php基础知识回顾 —— 常量

您现在的位置是:网站首页>>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)

272a2ff497ff398701eef161070cd122.png

0

+1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/469953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 配置maven及阿里云镜像

一&#xff1a;配置maven 1.下载maven&#xff0c;选择Binary tar.gz&#xff0c;解压拷贝到目录/usr/local/ https://maven.apache.org/download.cgi2.配置系统默认maven路径&#xff0c;打开配置文件 $ open ~/.bash_profile写入路径信息 export M2_HOME/usr/local/apache-ma…

php中get_featured_posts()是什么意思,WordPress的Get_Posts()函数详解

WP中获取POST有两个主要函数&#xff0c;Get_post()和Get_Posts()。一个是获取单文章&#xff0c;另外一个是获取多文章&#xff0c;其中&#xff0c;官网对Get_posts()函数的描述很简单。但有的时候描述越简单的函数&#xff0c;使用起来却并没有那么简单。下面我通过一个案例…

Android Studio 下使用git -- 个人,本地版本控制

第一步&#xff1a;下载安装git 下载地址 : https://git-scm.com/downloads 第二步&#xff1a;Android Studio 下配置git路径。 配置之后&#xff0c;Test弹出如下成功的提示即可。 第三步&#xff1a;创建版本库 选择项目的根目录比较适合。 第四步&#xff1a;添加需要版本控…

vba中取小数点后两位数,如何快速提取Excel小数点后第N位数字,excle提取小数的个位数...

excel vba中如何获取一个小数的小数点后的位数?用函数行不&#xff1f;FIND RIGHT等函数EXCEL提取小数点&#xff0c;后第一位函数RIGHT(INT(A1*10))EXCEL 函数 分别提取小数后两位right()EXCEL 一组数据里如何将十位数、个位数和小数点提取出来利用MOD函数即可。如下图&#…

oracle数据库延迟执行,如何诊断oracle数据库运行缓慢或hang住的问题

为了诊断oracle运行缓慢的问题首先要决定收集哪些诊断信息,可以采取下面的诊断方法:1.数据库运行缓慢这个问题是常见还是在特定时间出现如果数据库运行缓慢是一个常见的问题那么可以在问题出现的时候收集这个时期的awr或者statspack报告(通常收集时间间隔是一个小时).生成awr报…

The Everyman's Guide to How Network Packets Are Routed Across the Web

转自&#xff1a; http://null-byte.wonderhowto.com/how-to/hacker-fundamentals-everymans-guide-network-packets-are-routed-across-web-0134491/ We already covered how your data travels the OSI model, layer by layer, and talks with other machines on your local …

oracle忽略除数为0,ora-01476除数为0的解决办法,oracle中decode()的使用

执行报表查询&#xff0c;固定的一个时间点没有数据&#xff0c;应该是有数据的&#xff0c;把前一个时间节点往前调是有的&#xff0c;往后调也有bebug报错把sql放到数据库中&#xff0c;发现提示如截图解决办法&#xff0c;oracle中的decode()select decode(b,0,0,a/b*100) …

Confluent Platform 3.0支持使用Kafka Streams实现实时的数据处理(最新版已经是3.1了,支持kafka0.10了)...

来自 Confluent 的 Confluent Platform 3.0 消息系统支持使用 Kafka Streams 实现实时的数据处理&#xff0c;这家公司也是在背后支撑 Apache Kafka 消息框架的公司&#xff0c;它近日宣布 最新的开源平台已经达到了通用发布&#xff08;general availability&#xff09;版本。…

oracle串连接,Oracle中串连接符||的使用心得(个人见解)

Oracle中可以用串连接符||将若干个串连在一起(Oracle中也可以使用concat函数&#xff0c;但是它只最多连接两个串。而MySQL中concat可以连接多个串。在SQL Server中则使用进行串连接)。当然&#xff0c;这两个串可以是列名或字面值。例如&#xff1a;select province || city f…

HDU5971【瞎搞】

题意&#xff1a;略&#xff08;忙着准备文化课。。。明天期中考啊。。。。 思路&#xff1a; 正解就是染色&#xff0c;2-sat搞&#xff1b; AC代码&#xff08;虽然是错误的。。。数据水&#xff08;过踏马的也行啊&#xff0c;起码打脸他啊&#xff01;&#xff09; 4 3 1 0…

性能测试oracle瓶颈定位,性能测试中如何定位性能瓶颈

性能测试的概念是什么&#xff0c;基本目的是什么&#xff0c;我想大家都基本清楚&#xff0c;不作详述&#xff0c;总之&#xff0c;性能测试只是测试过程中的一种方式&#xff0c;帮助我们的功能更好的运行&#xff0c;如果功能测试是可用&#xff0c;易用&#xff0c;满足需…

Java GridBagLayout 简单使用

这里只介绍了很基础布局构建及使用&#xff0c;主要是关于 GridBagLayout. 首先整套流程大概是&#xff0c; 声明一个 GridBagLayout 对象 private GridBagLayout gridBagLayoutFrame new GridBagLayout(); 然后把当前类的容器布局管理器设置为 GridBagLayout this.setLayout(…

oracle数据库存储ip地址,oracle – 以十进制形式存储的IP地址 – PL / SQL以虚线四边形显示...

这是您需要的功能&#xff1a;create or replacefunction inttoip(ip_address integer) return varchar2deterministicisbeginreturn to_char(mod(trunc(ip_address/256/256/256),256))||.||to_char(mod(trunc(ip_address/256/256),256))||.||to_char(mod(trunc(ip_address/256…

Angular之简单的登录注册

使用Angular实现了一个简单的登录注册的功能........ 涉及到的Angular知识点很少 主要是这个功能的实现...(*^__^*) 嘻嘻…… 里面涉及到的知识点记录: 1.本地存储的操作 localStorage 获取本地存储的值 window.localStorage.getItem(key)-->value (得到的数据是字符串&qu…

Linux命令行调用动态库,Linux动态链接库的使用

动态链接库与普通的程序相比而言&#xff0c;没有main函数&#xff0c;是一系列函数的实现。通过shared和fPIC编译参数生产so动态链接库文件。程序在调用库函数时&#xff0c;只需要连接上这个库即可。例如下面实现一个简单的整数四则运输的动态链接库&#xff0c;定义的cacula…

Linux用户、用户组、文件权限设置

最近打算更仔细学习一下linux操作系统。先是恶补了一下用户、用户组、文件权限这三样比较重要的知识。(我也正在学Linux&#xff0c;所以就找到这篇日志了&#xff0c;有些设置修改后需要重启系统后才能生效。)学习这几样东西&#xff0c;得先掌握linux的权限系统相关知识。lin…

linux系统ip访问53端口,linux – 使用公共IP地址无法访问本地端口

我有一个linux服务器,它有公共IP和私有IP.因此,当我使用公共IP登录时,终端直接显示私有IP.例&#xff1a;$ssh root55.27.XX.XXroots password:root10.1.4.20:~$hostname -I10.1.4.20root10.1.4.20:~$wget -qO- http://ipecho.net/plain ; echo55.27.xx.xx现在,我安装了Nginx,我…

微信扫码下载iosAPP

1.首先在应用宝上传你的安卓APP应用&#xff0c;AppStore已经有了APP 2.进入应用宝app应用管理中心&#xff0c;点击“微下载”&#xff0c;然后里面的微下载链接地址就可以用了&#xff0c;可以看到ios可以通过应用宝再跳到AppStore就可以实现下载了转载于:https://www.cnblog…

linux当前时间到1970年秒数,计算从1970年到当前时间所经历过的秒数

这个算法来自LINUX的源码&#xff0c;下面带有大神的解析&#xff0c;自己在RTC实验中也使用了&#xff0c;不用月份表&#xff0c;润平年的处理&#xff0c;几行就可得出结果&#xff0c;以下是程序和大神的解析Linux源码中的mktime算法解析我们知道&#xff0c;从CMOS中读出来…

脱水缩合(大搜索)

脱水缩合 (merge.c/cpp/pas) 【题目描述】 fqk 退役后开始补习文化课啦&#xff0c; 于是他打开了生物必修一开始复习蛋白质&#xff0c;他回想起了氨基酸通过脱水缩合生成肽键&#xff0c;具体来说&#xff0c;一个氨基和一个羧基会脱去一个水变成一个肽键。于是他脑洞大开&am…