Function Pagefactory ( $ Path , $ Layout ){ $ Factorys = Array ("Template/1.html" => Templatepage1 ); Return New $ Factorys [ $ Layout ] ( $ Path , $ Layout );} Class Page { Public $ Path = Null ; Public $ Layout = "" ; Public $ Data = Array (); Public Static Function Load ($ Path ){} Public Function Page ( $ Path , $ Layout ){ Echo "Page ..." ; $ This -> Path = $ Path ; $ This -> Layout = $ Layout ;} Public Function Show (){ $ Filehandler = Fopen ( $ This -> Layout, R ); $ Html = Fread ( $ Filehandler , 1024 ); Fclose ( $ Filehandler ); Return $ Html ;} Public Function Save ( $ Data ){}} Class Templatepage1 Extends Page { Public Function Save ( $ Data ){ $ Filehandler = Fopen ( $ This -> Path, W ); Fwrite ( $ Filehandler , Json_encode ( Array ( "Layout" => $ This -> Layout, "data" => Array ("Title" => $ Data ["Title"], "content" => $ Data ["Content" ]); Fclose ( $ Filehandler );}}