【问题标题】:CakePHP 3 : Define global contant variableCakePHP 3:定义全局常量变量
【发布时间】:2016-06-11 09:28:48
【问题描述】:

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

我该怎么做?

【问题讨论】:

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


    【解决方案1】:

    你可以做一些这样的:

    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 ?>" />
    

    【讨论】:

    • 在default.ctp 布局中使用&lt;?php use Cake\Core\Configure; ?&gt; 不起作用,但它可以在视图文件中添加它。怎么可能用在default.ctp
    • 我想知道为什么是 define("CONSTANT_NAME","VALUE");不建议。当它看起来很简单时,我在 Cakephp 2.x 版本中使用了这种方法
    猜你喜欢
    • 2016-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-01
    相关资源
    最近更新 更多