Хей.В настоящее время я создаю функцию в Behavior в CakePHP 2.10.12, как показано ниже:
<?php
App::uses('CakeTime', 'Utility');
App::uses('CakeNumber', 'Utility');
class ConverterBehavior extends ModelBehavior {
private $timezone;
private $locale;
private $currency;
function hellow() {
return "Hellow from behavior";
}
function initConverter($locale, $timezone, $currency) {
$this->locale = $locale;
$this->timezone = $timezone;
$this->currency = $currency;
setlocale(LC_ALL, $locale);
}
public function getCurrentLocale() {
return $this->locale;
}
function convertCurrency($currencyAmount) {
return CakeNumber::currency($currencyAmount, $this->currency);
}
function convertDate($date) {
return CakeTime::i18nFormat($date, null, false, $this->timezone);
}
}
?>
Тогда вышеупомянутое поведение используется моей моделью, как показано ниже:
<?php
class Test extends AppModel {
public $actsAs = array('Converter');
}
И затемЯ вызываю функцию, которую я создал из поведения в моем контроллере, как показано ниже:
public function converterModel() {
$this->Test->initConverter('ja_JP', 'Asia/Tokyo', 'JPY');
$temp = $this->Test->convertCurrency(23456789901.123456);
debug($this->Test->hellow());
// $this->set('jpDate', $this->Test->convertDate(new DateTime));
}
Проблема в initConverter
не может быть инициализирована.Я проверяю переменную, которая вводится из контроллера, и все эти переменные равны нулю (это странно).Но когда я вызываю hellow(
) (функция в поведении), результат отображается в моем представлении.Так чего-то здесь не хватает?Спасибо
Примечание: это сообщение об ошибке, отображаемое на мой взгляд: