2016-06-11 186 views
0

我正在開發一個有點大的CakePHP 3項目。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 ?>" /> 
全局變量

我該怎麼做?

回答

0

你可以做一些這樣的:

的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 ?>" /> 
+0

哇這就是偉大的。非常感謝。 –

+0

使用'<?php use Cake \ Core \ Configure; ?>''default.ctp'佈局不起作用,但它可以將它添加到視圖文件中。它怎麼可以在'default.ctp'中使用 –

+0

也試過。但默認情況下不起作用:/ – Isengo