<?php
// структура - route кидает на контроллер в папку applicatiom/module/*controloler*/
// тут уже ищем файлы model.php, view.php, controller.php

// controller.php
class Controller_Report extends Controller
{

	function __construct()
	{
		$this->model = new Model_Report();
		$this->view = new View();
	}
	
	function action_index()
	{
		//$data = $this->model->get_data();		
		//$this->view->generate('view.php', 'template_view.php', $data);
	}
	
	function action_table()
	{
		$data = $this->model->get_data(Route::$paramArray['type']);	
		if ( isset(Route::$param_array['isAjax']) ) {
			echo json_encode($data); die;
		}
		else {
			$this->view->generate('view.php', 'template_view.php', $data );
		}
	}
	
	function action_chart()
	{
		$data = $this->model->get_data(Route::$paramArray['type']);	
		if ( isset(Route::$param_array['isAjax']) ) {
			echo json_encode($data); die;
		}
		else {
			$this->view->generate('view.php', 'template_view.php', $data );
		}
	}
}

// model.php

<?php
require_once 'application/db/db.php';
//require_once 'application/models/report/logic.php';
// основной для получения данных из db мне подключать тут?
class Model_Report extends Model
{
	
	public function get_data($action_name)
	{	
		// тут думал сделать отдельные файлы с реализацией расширения класса logic под каждый тип отчета, 
		// который бы реализовывал все функции доп. обработки данных
		// а action_name был бы реализацией конкретного отчета
		
		$action_file = strtolower($action_name).'.php';
		$action_path = "application/module/report/".$action_file;
		if(file_exists($action_path))
		{
			include "application/module/report/".$action_file;
		}
		
		$action = new $action_name();
		return $action->run();
	}

}

// view.php

<div>
<!-- здесь у меня будут элементы выбора периода, опций и кнопка перерисовки всего этого дела (с ajax) -->
</div>

<!-- ниже код тот что был из фреймворка, мне рисовать свою таблицу таким же образом? -->
<tr><td>Год</td><td>Проект</td><td>Описание</td></tr>
<?php

	foreach($data as $row)
	{
		echo '<tr><td>'.$row['Year'].'</td><td>'.$row['Site'].'</td><td>'.$row['Description'].'</td></tr>';
	}
	
?>