8

アプリケーションのどこでも使用できる定数を宣言する必要があります。Zend Framework 1 では、 inapplication.iniを次のように宣言していました。

constants.NAME_TITLE = "User Name",

Zend Framework 2 のどこで、どのようにこれを行うのでしょうか?

4

4 に答える 4

2

Zend Framework 2 の場合、代替ソリューションの 1 つです。

config/autoload/local.php 内でグローバル変数を定義できます

 'array_name' => array(
      'variable_name' => value,
 ),

次のようにどこでも使用できます。

$this->config = $obj->getServiceLocator()->get('config'); //create config object
$this->you_variable = $this->config['arrayname']['variable_name']; // fetch value
echo $this->you_variable; // print value
于 2016-06-14T14:13:27.310 に答える
0

コントローラー、モデル、ビューなど、アプリケーションのどこからでもアクセスできる関数と変数を作成することもできます。

<?php  
namespace Webapp;

class ControllerName
   {
        const EMAIL     = 'email@gmail.com';

        public static function myFunction()
          {
             echo "doing work well.";
          }
    }

そして、このクラス関数とプロパティに次のようにアクセスできます

<?php echo Webapp\ControllerName::EMAIL; ?> 

<?php echo Webapp\ControllerName::myFunction(); ?>
于 2013-06-04T10:48:20.257 に答える
0

次のように CONSTANT を定義、割り当て、およびアクセスできます。これらの 2 つのクラスをエイリアスで使用します。

use Zend\Config\Config as Zend_Config;
use Zend\Config\Processor\Constant as Zend_Constant;

そして、以下のコードをコントローラ クラスの任意の関数に使用します。

define ('TEST_CONST', 'bar');
// set true to Zend\Config\Config to allow modifications
$config = new Zend_Config(array('foo' => 'TEST_CONST'), true);
$processor = new Zend_Constant();
$processor->process($config);
echo $config->foo;

それはo / pを与えます:

bar
于 2016-12-06T07:11:44.887 に答える