Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Использование сторонних классов в MVC
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Использование сторонних классов в MVC

Страниц (1): [1]
 

1. Shtorm_sai - 10 Апреля, 2014 - 04:54:14 - перейти к сообщению
Здравствуйте! Не могу допетрить что то. Использую TinyMVC, хочу к ней подключить upload.class.php создателем которой является Colin Verot. Сначала думал обшутить систему, и просто поменял названия класса и название файла под mvc. Далее подключаю его:



Потом я так понимаю нужно инициализировать его, точнее передать ему файл для работы с ним. Делал так:



Ну и далее работа с ним:

PHP:
скопировать код в буфер обмена
  1.  
  2. $this->upload->uploaded;
  3. $this->upload->process('files/img/news/');
  4. $this->upload->processed;
  5.  


Естественно это всё делается с условиями и проверками на ошибки. Но он просто на просто не работает и ошибок ни каких не выдаёт.

Когда просто инклудишь этот класс, при его инициализации сразу же указывается файл.
Например:
PHP:
скопировать код в буфер обмена
  1. $handle = new upload($_FILES['image_field']);


Может проблема в этом? Я что то не так делаю? Думал потом уже, что может просто наследовать его и написать класс оболочку. И вот тут я понял, что нифига не понял.
Думаю посмотрю как другие плагины установлены и так же установлю. Открываю плагин шаблонитизатора smarty и что я вижу:

PHP:
скопировать код в буфер обмена
  1.  
  2. // important so the TinyMVC and Smarty autoloaders work together!
  3. define('SMARTY_SPL_AUTOLOAD', 1);
  4.  
  5. // require the Smarty class
  6. require('libs/smarty/Smarty.class.php');
  7.  
  8. class TinyMVC_Library_Smarty Extends Smarty
  9. {
  10.   function __construct()
  11.   {
  12.     parent::__construct();
  13.     $this->setTemplateDir(array('tpl/site/','tpl/admin/'));
  14.     $this->setCompileDir('tpl_c/');
  15.     $this->setConfigDir('tinymvc/myapp/configs/');
  16.        
  17.     $this->configLoad('site.conf');
  18.     $this->configLoad('admin.conf');
  19.        
  20.             $tmvc = tmvc::instance();
  21.   }
  22. }
  23.  


Я просто не могу понять как подключить данный класс, с помощью класса оболочки так скажем. Ведь ему нужно указать файл, а как это сделать? Как правильно его инициализировать не могу понять. В общем прошу подсказки в какую сторону копать.
2. Shtorm_sai - 10 Апреля, 2014 - 08:21:03 - перейти к сообщению
Всё, проблема решена Улыбка Спасибо, что заходили и смотрели этот пост Улыбка))

Создал класс оболочку, получилось вот что:

PHP:
скопировать код в буфер обмена
  1. require('libs/class.upload.php');
  2.  
  3. class TinyMVC_Library_Upload Extends upload
  4. {
  5.     var $file;
  6.    
  7.     function __construct(){
  8.    
  9.         parent::__construct($this->file);
  10.         $tmvc = tmvc::instance();
  11.   }
  12. }


Всё просто, не хватало понимания как передать аргумент в функцию)) Методом тыка вычислил)))
3. esterio - 10 Апреля, 2014 - 10:39:26 - перейти к сообщению
1 . паттерн Proxy
2. и каким боком здесь MVC?
4. Shtorm_sai - 11 Апреля, 2014 - 04:28:50 - перейти к сообщению
В смысле каким боком? оО самым обычным боком.
5. LIME - 11 Апреля, 2014 - 06:06:48 - перейти к сообщению
$tmvc получает значение и уходит в небытие

 

Powered by ExBB FM 1.0 RC1