00001 <?php
00002 Load::directories('view/widgets');
00003
00004
00005
00006
00007
00008
00009
00010 class ViewFactory {
00011
00012
00013
00014
00015
00016 private static $implementation = null;
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 public static function set_implementation(IViewFactory $implementation, $keep_old = false) {
00029
00030 if (!empty(self::$implementation)) {
00031 if ($keep_old) {
00032 return;
00033 }
00034 $implementation->set_old_implementation(self::$implementation);
00035 }
00036 self::$implementation = $implementation;
00037 }
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047 public static function create_view($type, $template_name, $params= false) {
00048 if (empty(self::$implementation)) {
00049 self::set_implementation(new ViewFactoryBase());
00050 }
00051 return self::$implementation->create_view($type, $template_name, $params);
00052 }
00053 }