-
2021-03-24 01:10:43
一个类中:
protected $config_file = DB_PATH . ‘db.conf’;
就出现了错误,php5.4版本的:
语法错误: unexpected ‘.’, expecting ‘,’ or ‘;’
但在5.6版本上没有出现错误
这个是PHP版本支持的问题。
PHP 5.6及其以上版本是支持这样处理的。除了定义类的属性,在定义常量,设定函数或方法的默认参数等只接受静态值(
static values
)的地方,都支持静态表达式(
static expressions
),字符串拼接(
.
)是其中一个所支持的操作。
在之前的 PHP 版本中, 必须使用静态值来定义常量,声明属性以及指定函数参数默认值。 现在你可以使用包括数值、字符串字面量以及其他常量在内的数值表达式来 定义常量、声明属性以及设置函数参数默认值。
见:http://cn2.php.net/manual/zh/…。
另外,你的老大是错的,常量是在编译时(compile time)处理的,
DB_PATH
在框架启动的时候肯定已经申明,应该不会没有解析。
语法错误啊,根据提示的行号看看,是不是;和,用成中文的了。
问了老大已经明白了,在声明类的成员时,不能使用静态常量赋值,这个时候DB_PATH还没有解析,赋值应该放到构造方法中
5.4太低了
更多相关内容 -
php常量赋值
2021-03-24 01:11:46123456789101112131415161718192021222324252627classmy{static$shengao="188";//my::$shengao="190";static$age="18";staticfunctionshengao(){echo"我的身高:".self::$shengao."";}staticfunctionage(){echo"我的...1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class
my{
static
$shengao
=
"188"
;
//my::$shengao="190";
static
$age
=
"18"
;
static
function
shengao(){
echo
"我的身高:"
.self::
$shengao
.
""
;
}
static
function
age(){
echo
"我的年龄:"
.self::
$age
.
""
;
}
static
function
zonghe(){
echo
"我的综合值:"
.(self::
$shengao
/self::
$age
).
""
;
}
}
$num
=199;
my::
$shengao
=
$num
;
my::shengao();
my::age();
my::zonghe();
输出结果:
本文转自许琴 51CTO博客,原文链接:https://blog.51cto.com/xuqin/1569519,如需转载请自行联系原作者
-
PHP入坑之 赋值、变量和常量
2021-04-30 05:17:55PHP入坑之 赋值、变量和常量1年前阅读 1220评论 0喜欢 0###1、什么是赋值1、在PHP中,赋值主要有两种方式,分别为:`直接赋值` 和 `引用赋值`。2、直接赋值,就是在上述代码中已经出现过的场景,比如用 `=` 号,直接...PHP入坑之 赋值、变量和常量
1年前
阅读 1220
评论 0
喜欢 0
###1、什么是赋值
1、在PHP中,赋值主要有两种方式,分别为:`直接赋值` 和 `引用赋值`。
2、直接赋值,就是在上述代码中已经出现过的场景,比如用 `=` 号,直接给一个变量赋予内容,给数组赋予键值等,都可以称为直接赋值。
3、引用赋值,这是一个比较深入的赋值方式,在初学者中并不适合深入了解,所以开始的教程只做简单的介绍;引用赋值是依靠 `&` 符号,将两个变量间的内存捆绑在一起,只要其中一个变量的内容有所改变,那么另一个也会跟着同时改变。
```php
# 直接赋值例子
$test1 = 'hello world'; // 直接给变量赋值
$test2 = $test1; // 通过变量1,直接给变量2赋值,但是之后再改变变量2的内容,变量1不会收影响
$test3 = [
1 => 'hello world', // 创建数组,并直接赋值
];
$test4[1] = 'hello world'; // 通过键名,直接给该键赋值
# 引用赋值例子
$A = 'hello world';
$B = &$A;
$A = '师父最帅';
echo $B; // 将会输出 师父最帅
$B = 'hello world';
echo $A; // 将会输出 hello world
```
### 2、变量和常量
我们可以直接把变量、常量,都当做是生活做的一个杯子或盒子,它们是存储物体的容器,而在PHP中,我们一般称之为数据存储容器;
#### A、变量
变量的定义规则如下:
```
1、变量以 $ 符号开头,其后是变量的名称
2、变量名称必须以字母或下划线开头
3、变量名称不能以数字开头
4、变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
5、变量名称对大小写敏感($A 与 $a 是两个不同的变量)
```
注意:如果你不想使用该变量,并想释放其占用的内存,可以使用函数`unset()`
#### B、常量
常量类似变量,但是常量一旦被创建就无法重新修改其内容 或 删除。
常量的创建需要依靠`define()`函数,该函数最多可传递3个参数:
```
1、必传,常量的名称
2、必传,常量的需要赋予的内容
3、可选,规定常量名程是否对大小写不敏感。默认是 false。
```
```php
# 创建一个对大小写敏感的常量
define('Test1', 'hello world');
echo Test1;
# 创建一个对大小写不敏感的常量
define('ABC', '老师最帅', true);
echo abc;
```
####C、两者间的区别
```
老师提醒:常量不同于变量的地方除了无法修改其内容外,还有2个地方:
1、常量是全局性的,一旦创建之后,不管是在函数内,还是函数外均可以使用;而在函数外定义的变量,则不能在函数内部直接使用;
2、常量的引用和创建都不需要带$符号,而变量则需要。
```
#### D、不同的使用场景
1、变量:常用于局部地方,例如函数体内外,经常会被修改的数据存储容器,同时变量有用完即销毁的概念存在。
2、常量:常用于全局地方,例如程序的入口处,用于存储不允许被后续代码所修改的数据存储容器,常量是有着永久保存的概念。
(常用于保存配置文件:数据库配置、程序环境配置等不变参数)
© 著作权归作者所有
-
PHP 如何给常量赋值变量
2017-03-14 14:11:48由于在类里的常量可以通过ClassName::constname这样的方式直接引用,所以很多人就喜欢在类里面定义常量值,那么怎么给常量值赋值呢? 你可以先定义一个全局常量 define('GV', 'value'); 再给这个成员赋值 class A ...由于在类里的常量可以通过ClassName::constname这样的方式直接引用,所以很多人就喜欢在类里面定义常量值,那么怎么给常量值赋值呢?
你可以先定义一个全局常量
define('GV', 'value');
再给这个成员赋值
class A {
const PV = GV;
}
但是不接受变量的赋值
const PV = $another;
是错误的 -
php 常量、变量用法详细介绍
2020-08-30 07:46:30注意,需要说明的一点是自PHP4以来,引入了引用赋值的概念,其实和多数语言的引用类似,不过我觉得最类似的是C/C++.因为它也用到了"&"符号。例如:和其他语言一样,只能对有变量名的变量才可以引用。好了现在大家对... -
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
2020-12-18 06:01:33PHP常量是定义后就不能修改和再次赋值。但是如果再次赋值会怎么样? <?php define('C', 12345); define('C', 123); ?> 这段代码会报个notice错误。带来的后果是:在你定义之前,其它人要 -
php的常量和变量实例详解
2020-12-20 01:51:55php的常量和变量实例详解 【PHP在命令行下接收参数】 如果在命令行调试php,传入的参数通过$argv获取,注意其中包含了文件名这一个元素,数组中元素的个数通过$argc获取。 【可变变量】 指的是变量的名称可变,... -
php常量的声明,赋值与输出
2021-03-24 01:10:44常量三要素:* 1.1一旦创建,不可删除,不可修改;* 1.2不在头部添加'$'符* 1.3全局作用域,在函数中无须声明直接使用* 2.创建:* 2.1 函数: define('CONST_NAME',表达式);* 2.2 关键字: const contName = 静态标量,能用在... -
PHP 判断常量,变量和函数是否存在
2020-12-18 08:57:45复制代码 代码如下:if (defined(‘CONST_NAME’)) { //do something } 变量检测则是使用isset,注意变量未声明或声明时赋值为NULL,isset均返回FALSE,如: 复制代码 代码如下: if (isset($var_...php /* 判断常量是 -
PHP 对类的属性直接赋值
2014-01-17 14:45:20PHP 对类的属性直接赋值 -
【php】常量与变量
2021-04-23 06:00:51在一个变化过程中,始终不变的量,我们称它为常量,而变量则是变量是一段有名字的连续存储空间。...针对PHP常量入门学习,主要介绍PHP常量的定义和使用方式。一、PHP变量如何标识所谓标识符,其实也就是PH... -
PHP——4(PHP赋值行为)
2021-04-12 17:11:57PHP——2(PHP变量作用域)PHP——3(PHP变量分离/引用(Variables Separation))为辅助阅读,可直接跳过Laruence关于引用赋值行为的描述和用debug_zval_dump刺探的结果有出入,下面我会指出Laruence的叙述有误的地方。... -
php类怎么给静态变量赋值
2021-01-16 04:36:01展开全部case-1:给类中的静态变量赋值62616964757a686964616fe59b9ee7ad9431333337623437:classPHPJungle{privatestatic$__instance=null;#类中的私有成员:静态变量publicfunction__construct(){}... -
php 常量-魔术常量
2021-04-23 06:07:36PHP中有七个魔术常量,他们的值其实是变化的,它们的值随着它们在代码中的位置改变而改变。所以称他们为魔术常量。例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写。在手册中这几... -
php中const定义常量
2021-03-24 12:24:15const 常量1.在定义时必须被初始值,2.前面不加任何修饰符3.变量名字母一般都大写4.常量可以被子类继承5.一个常量是属于一个类的,而不是某个对象的作用:当某些值是固定不变的,就用const1.const 定义的常量和... -
PHP中如何定义和使用常量
2021-03-23 17:01:171.自定义常量* 必须用函数define()定义* 定义完后其值不能再改变了* 使用时直接用常量名,不能像变量一样在前面加$s例如:define("PI",3.14);定义一个常量$area = PI*R*...2 系统常量:FILE :php程序文件名LINE :PHP... -
php魔法函数与魔法常量使用介绍
2020-12-17 22:25:46php 魔术函数 1。__construct() 实例化对象时被调用, 当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。...若属性存在,则直接赋值; 若不存在,则会调用__set函数。 6 -
php常量,常量的语法分析
2021-05-04 07:15:28本篇文章主要介绍php常量,常量的语法分析,感兴趣的朋友参考下,希望对大家有所帮助。一、常量常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变(除了所谓的魔术常量,它们其实不是... -
php中输出常量
2021-04-21 09:11:05PHP手册 – 变量和常量变量php中变量的定义,就是就在某一个单词前面加上“”。这是php的特色,∗∗我想到的一个好处就是和...赋值方式也能体现php作为弱类型...文章文艺小青年2017-03-30936浏览量PHP 魔术变量PHP魔... -
PHP常量类型
2021-04-05 08:04:11常量是简单值的名称或标识符。在执行脚本期间,常量值不能更改。默认情况下,常量区分大小写。按照惯例,常量标识符总是大写。常数名称以字母或下划线开头,后面跟着任意数量的字母,数字或下划线。如果你已经定义了... -
PHP 常量与变量_PHP教程
2021-03-23 14:24:31PHP 常量与变量【常量】可以用 define() 函数来定义常量,在 PHP 5.3.0 以后,可以使用 const 关键字在类定义之外定义常量。一个常量一旦被定义,就不能再改变或者取消定义。常量只能包含标量数据(boolean,integer... -
PHP 相关类常量和Static变量,传值赋值和引用赋值,private和static ,对象操作符,define常量(基础笔记一)
2019-04-28 13:53:30赋值分为: 传值赋值:把自己值给另一个变量 $a=$b ,两个变量互不牵扯 变量默认是传值赋值 引用赋值: $p1=&p2,两个变量用同一个指针, Person $p1=new Person(); Person $p2=new Person(); 对象赋值默认是引用... -
PHP之变量、常量学习笔记
2021-01-20 00:32:41有关变量的传地址赋值 PHP 3 中,变量总是传值赋值。PHP 4 提供了另外一种方式给变量赋值:传地址赋值。使用传地址赋值,即简单地追加一个(&)符号到将要赋值的变量前(源变量)。这意味着新的变量简单的引用了... -
PHP 常量与变量
2021-03-23 17:23:26写在前面常量用于存储不经常改变的数据信息的量,常量的值被定义后,在程序整个执行期间,这个值都有效,并且不可再次赋值。变量用于存数数据临时数据信息,是编写程序中尤为重要的一部分,在定义变量的时候,通常要... -
PHP 类常量的使用
2021-04-23 12:48:20在PHP5中const定义的常量与定义变量的方法不同,不需要加 $ 修饰符。 const PI = 3.14; 这样就可以。而使用const 定义的常量名称一般都大写,这是一个约定,在任何语言中都是这样。如果定义的常量由多个单词组成,...