如何在cakephp 3中使用常量?

时间:2018-08-13 04:54:28

标签: cakephp-3.0

朋友你好,这是我的功能...

bootstrap.php

$support_email = 'addon.akbar@gmail.com';
define('SUPPORT_EMAIL', $support_email);

testcontroller.php

public function testcron(){

        $email = new Email('default');
        $email->from(['aon.akbarali@gmail.com' => 'My Site'])
            ->to('aon.ashish@gmail.com')
            ->subject('About')
            ->send('My message');
    }

当我运行此函数时,它说“已经使用常量”。其实我不知道该如何使用这个常数。有人可以告诉我吗?

2 个答案:

答案 0 :(得分:1)

您可以像这样在核心php中使用常量。

define('SUPPORT_EMAIL', $support_email); 
echo SUPPORT_EMAIL;

在cakephp 3.x中,您可以像这样使用常量。

在config / Bootstrap.php

$support_email = 'addon.akbar@gmail.com';
Configure::write('SUPPORT_EMAIL', $support_email);

在控制器中

use Cake\Core\Configure; 

public function testcron(){

    $support_email = Configure::read('SUPPORT_EMAIL');
 }

查看文件中

<?php use Cake\Core\Configure; 
$support_email = Configure::read('SUPPORT_EMAIL');
?> 

答案 1 :(得分:0)

您收到此错误,因为此内容已在某处定义。您可以更改常量名称,也可以执行以下操作

if (!defined('SUPPORT_EMAIL')) {
    $support_email = 'addon.akbar@gmail.com';
    define('SUPPORT_EMAIL', $support_email);
}

仅当常量不存在时,它才会创建常量。