CakePHP 3:定义全局变量

时间:2016-06-11 09:28:48

标签: cakephp global-variables media cakephp-3.0 image-uploading

我正在开发一个有点大的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 ?>" />

我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

<强>配置/ bootstrap.php中

$minSql  = "select catid from art_news where newsid=".$newsid;
if ($minSql === false) // Check if query return an error
die("minSql error: " . mysql_error());
$RSofGet = mysql_query($minSql);
if ($RSofGet === false) // Check if query return an error
die("RSofGet error: " . mysql_error());
$RSget   = mysql_fetch_array($RSofGet);  
if ($RSget === false) // Check if query return an error
die("RSget error: " . mysql_error());
$catid   = $RSget["catid"];
return $catid;  
}   

<强> YourView.ctp

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/' 
        )
 ));