CakePHP 3:定义全局常量变量

CakePHP 3 : Define global contant variable

我正在做一个有点大的 CakePHP 3 项目。

我想通过将所有媒体文件与核心应用程序分开来尽可能保持我的应用程序干净,这就是为什么我必须将所有媒体文件存储在单独的子域中,如 media.myproject.com 并且该项目可以从www.myproject.com.

同样在 media.myproject.com 中可能会有很多 directories 作为

/root
|- users
   |- avatar
   |- cover
|- services
   |- logo
   |- banner
   |- slides
|- clients
   |- logo
   |- avatar
|- etc
   |- etc
   |- etc
   |- etc

现在,为了能够访问应用程序 view 中的文件,我想设置可以在任何 view 中使用的全局变量,例如

<img src="<?= $media.$mediaUser.$userAvatar.$user->avatar ?>" />

我该怎么做?

你可以做这样的:

config/Bootstrap.php

Configure::write('Media', array(
        'users' => array(
            'avatar' => 'media.myproject.com/users/avatar/',
            'cover'  => 'media.myproject.com/users/cover/'  
        ),
        'services' => array(
            'logo' => 'media.myproject.com/services/logo/',
            'banner'  => 'media.myproject.com/services/banner/' 
        )
 ));

YourView.ctp

<?php use Cake\Core\Configure; ?> 

<img src="<?= Configure::read('Media.users.avatar').$user->avatar ?>" />