我有此代码:
class ContactIntegration {
const P_DESCRIPTION = 'description here';
const MAIL_SENT_TRIGGER = '7_mail_sent';
public $form_data;
public $default_payload = array(
'form_origem' => self::P_DESCRIPTION
);
我需要将const P_DESCRIPTION = 'description here';
更改为const P_DESCRIPTION = $variable;
或'form_origem' => self::P_DESCRIPTION
到'form_origem' => $variable;
。
答案 0 :(得分:0)
我希望这就是您想要的。
class ContactIntegration {
public static $variable= 'Any variable';
const MAIL_SENT_TRIGGER = '7_mail_sent';
public $form_data;
public $default_payload = array(
'form_origem' => self::$variable
);
答案 1 :(得分:0)
您不能将类常量或属性的初始值设置为PHP中动态变量(例如变量或函数结果)的结果。相反,您应该使用类方法来设置属性。
例如,不允许 :
{
"pagelen": 10,
"values": [
{
"description": "this is just a description for testing the pull request api endpoint",
"links": {
"decline": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/decline"
},
"commits": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/commits"
},
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1"
},
"comments": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/comments"
},
"merge": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/merge"
},
"html": {
"href": "https://bitbucket.org/dhulke/ojspkp/pull-requests/1"
},
"activity": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/activity"
},
"diff": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/diff"
},
"approve": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/approve"
},
"statuses": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/statuses"
}
},
"title": "adding a to test a pull request",
"close_source_branch": false,
"type": "pullrequest",
"id": 1,
"destination": {
"commit": {
"hash": "6188a5897db9",
"type": "commit",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/commit/6188a5897db9"
},
"html": {
"href": "https://bitbucket.org/dhulke/ojspkp/commits/6188a5897db9"
}
}
},
"repository": {
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp"
},
"html": {
"href": "https://bitbucket.org/dhulke/ojspkp"
},
"avatar": {
"href": "https://bytebucket.org/ravatar/%7B605ba8e3-7b25-4093-9c72-f847da4b2464%7D?ts=default"
}
},
"type": "repository",
"name": "OJSPKP",
"full_name": "dhulke/ojspkp",
"uuid": "{605ba8e3-7b25-4093-9c72-f847da4b2464}"
},
"branch": {
"name": "master"
}
},
"created_on": "2018-09-15T23:17:25.931924+00:00",
"summary": {
"raw": "this is just a description for testing the pull request api endpoint",
"markup": "markdown",
"html": "<p>this is just a description for testing the pull request api endpoint</p>",
"type": "rendered"
},
"source": {
"commit": {
"hash": "b02656e67546",
"type": "commit",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/commit/b02656e67546"
},
"html": {
"href": "https://bitbucket.org/dhulke/ojspkp/commits/b02656e67546"
}
}
},
"repository": {
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp"
},
"html": {
"href": "https://bitbucket.org/dhulke/ojspkp"
},
"avatar": {
"href": "https://bytebucket.org/ravatar/%7B605ba8e3-7b25-4093-9c72-f847da4b2464%7D?ts=default"
}
},
"type": "repository",
"name": "OJSPKP",
"full_name": "dhulke/ojspkp",
"uuid": "{605ba8e3-7b25-4093-9c72-f847da4b2464}"
},
"branch": {
"name": "teste"
}
},
"comment_count": 0,
"state": "OPEN",
"task_count": 0,
"reason": "",
"updated_on": "2018-09-15T23:17:25.963178+00:00",
"author": {
"username": "dhulke",
"display_name": "Danilo Moraes",
"account_id": "557058:ab26766f-757e-4687-88ff-099bd94b0895",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/users/dhulke"
},
"html": {
"href": "https://bitbucket.org/dhulke/"
},
"avatar": {
"href": "https://bitbucket.org/account/dhulke/avatar/"
}
},
"type": "user",
"uuid": "{1b22ad2c-9f1c-48f4-b9dc-958e8eddd3e8}"
},
"merge_commit": null,
"closed_by": null
}
],
"page": 1,
"size": 1
}
相反,您应该创建类的实例,并让构造函数(或其他一些函数)设置变量:
<?php
$variable = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
class ContactIntegration {
const P_DESCRIPTION = $variable; // will cause an error
public $default_payload = array(
'form_origem' => $variable // will also cause an error
);
}