2013-09-23 2 views
0

У меня есть класс компонентакак использовать app_controller функцию в компоненте CakePHP 1,3

class ChimagesUploadComponent extends Object{ 

/* ** * ** * ** * ** * * * * ** * ** * ** * **** * fileModel - это название используемой модели, если мы хотим получить * вести учет загрузок в базе данных. * * Если вы не хотите использовать базу данных, просто установите для нее значение null * $ this-> FileUpload-> fileModel = null; * * @var смешанные * @access общественного */

вар $ fileModel = 'Изображение';

/* ** * ** * ** * ** * ** * ** * ** * ** * * *** * uploadDir - это имя каталога в веб-канале, в котором вы хотите сохранить загруженные файлы. по умолчанию: файлы, что означает * WebRoot/файлы должны существовать и установить на CHMOD 777 * * @var строку * @access общественных */

вар $ UploadDir = 'chimages';

и функционируют в app_controller

function getCurrentUser() { 

App :: импорт ('компонент', 'Сессия'); $ Session = новый SessionComponent();

$ user = $ Session-> read ('Auth.User');

return $ user; }

Я хочу использовать эту функцию в своем классе ChimagesUploadComponent.

причины я хочу сохранить изображения в другой папке извлечения имени папки из функции и сохранение его соответственно я попытался с concatinating

в классе ChimagesUploadComponent. я сделал

$user=$this->getCurrentUser(); 
$logid = $user['district_id']; 

, а затем пытался объединить ее в

var $uploadDir = 'chimages/'.$logid; 

, как у меня есть различные папки в корневой директории/chimages/12 Webroot/chimages/13 и т.д., пожалуйста, помогите

ответ

1

Это лучше передать значение в аргументе во время вызова компонента из контроллера.

Но если вы все еще хотите получить доступ к методу контроллера приложения, то просто позвоните с помощью

AppController::getCurrentUser() 
+1

Спасибо, тонна ... это сработало .. –

+0

Еще раз спасибо ... –

0

Следующая может быть еще один способ сделать это

$Appcontroller= new AppController(); 
$Appcontroller->calltoanyfunction(); 

И в этом случае вы можете вызовите любую функцию контроллера в другую.