Integration of MVC

See all posts See thread Reply

Re: Integration of MVC new!
by colin, 10 years, 7 months ago
No, there isn't such function. Maybe you can simply create a wrapper class?Reply
Re: Integration of MVC new!
by Sai, 10 years, 7 months ago
A possible example?Reply
Re: Integration of MVC new!
by colin, 10 years, 7 months ago
I am afraid I cannot provide you with an example, I never used TinyMVC. But if you look at some existing TinyMVC plugins, it should give you an idea.

Basically, I think you should create a plugin class, where you instantiate the class.upload.php in a function that you would call 'upload' (and not in the constructor of your plugin).Reply
Re: Integration of MVC new!
by Sai, 10 years, 7 months ago
There used plugin Smarty templating engine. Here is his connection class:

// important so the TinyMVC and Smarty autoloaders work together!
define('SMARTY_SPL_AUTOLOAD', 1);

// require the Smarty class
require('libs/smarty/Smarty.class.php');
 
class TinyMVC_Library_Smarty Extends Smarty {
  function __construct() {
    parent::__construct();
    $this->setTemplateDir(array('tpl/site/','tpl/admin/'));
    $this->setCompileDir('tpl_c/');
    $this->setConfigDir('tinymvc/myapp/configs/');
	
    $this->configLoad('site.conf');
    $this->configLoad('admin.conf');
        
    $tmvc = tmvc::instance();
  }
}

So I connected the class to work with the mail. But I do not know how to connect your class. When it is initialized once specified file. If there was a feature where you can specify the file after initialization, it would simplify the work in this case.Reply
Re: Integration of MVC new!
by colin, 10 years, 7 months ago
I will look into it when I get some time. Feel free to submit a patch in the meantime.Reply
Re: Integration of MVC new!
by Sai, 10 years, 7 months ago
What is a patch?Reply
Re: Integration of MVC new!
by Sai, 10 years, 7 months ago
Generate the wrapper class.

require('libs/class.upload.php');
class TinyMVC_Library_Upload Extends upload {
  function __construct() {
    parent::__construct();
    $tmvc = tmvc::instance();
  }
}

now produces an error
Error: E_WARNING
Message: Missing argument 1 for upload::upload(), called in /home/otdc/domains/otdc.ru/public_html/paraavis/tinymvc/myfiles/plugins/tinymvc_library_upload.php on line 8 and defined
File: /home/otdc/domains/otdc.ru/public_html/paraavis/libs/class.upload.php
Line: 2573
Reply
Re: Integration of MVC new!
by Sai, 10 years, 7 months ago
Thanks Colin, I solved the problem. Generate the wrapper class:

require('libs/class.upload.php');
class TinyMVC_Library_Upload Extends upload {
    var $file;
    function __construct(){
        parent::__construct($this->file);
        $tmvc = tmvc::instance();
  }
}

Everything works. :)Reply
Re: Integration of MVC new!
by colin, 10 years, 7 months ago
Glad you got it working. And thank you for sharing the code.Reply