我正在做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 ?>" />
我该怎么做?
你可以做一些这样的:
配置/引导.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 CakeCoreConfigure; ?>
<img src="<?= Configure::read('Media.users.avatar').$user->avatar ?>" />