Skip to content

Commit aa2b0dc

Browse files
author
Theodor
committed
!NOT WORKING!
Part of MFE-161
1 parent 265ac34 commit aa2b0dc

7 files changed

Lines changed: 43 additions & 20 deletions

File tree

assets/layouts/test.tpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<?xml hello ?>

core/loader.core.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,20 +37,20 @@ static public function loaderInit(){
3737
return self::$instance;
3838
}
3939

40-
public function load($file, $PHAR = false, $returnContent = false) {
40+
public function load($file, $EXT = false) {
4141
$FileHelper = engine::option('FileHelper');
42-
$EXT = (!$PHAR) ? $FileHelper::$PHP : $FileHelper::$Phar;
42+
$EXT = (!$EXT) ? $FileHelper::$PHP : $EXT;
4343
$paths = $this->getRealPaths($file);
4444
if (isset($paths['extension'])) {
4545
$extension = $paths['extension'];
4646
unset($paths['extension']);
4747
} else $extension = '';
4848
foreach ($paths as $file) {
49-
#print $file . '.' . $extension . $EXT . PHP_EOL;
49+
print $file . '.' . $extension . $EXT . PHP_EOL;
5050
if (file_exists($file . '.' . $extension . $EXT)) {
5151
engine::trigger('file.load', [$file . '.' . $extension . $EXT]);
5252
/** @noinspection PhpIncludeInspection */
53-
return (!$returnContent) ?
53+
return ($EXT == $FileHelper::$PHP || $EXT == $FileHelper::$Phar) ?
5454
include_once $file . '.' . $extension . $EXT : file_get_contents($file . '.' . $extension . $EXT);
5555
}
5656
}
@@ -128,8 +128,8 @@ static public function registerAlias($aliases, $dir) {
128128
self::$instance->registerAliasDirectory($aliases, $dir);
129129
}
130130

131-
static public function loadFile($file, $PHAR = false, $returnContent = false) {
132-
return self::$instance->load($file, $PHAR, $returnContent);
131+
static public function loadFile($file, $EXT = false) {
132+
return self::$instance->load($file, $EXT);
133133
}
134134

135135
static public function loadPhar($file) {

core/page.core.php

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,13 @@ public function __set($key, $value) {
5353
}
5454

5555
public function __construct($layout = null, $data = [], $uid = null) {
56+
if (!mfe::init()->loader->aliasDirectoryExist('@layout'))
57+
mfe::init()->loader->registerAliasDirectory('@layout', 'assets/layouts');
58+
5659
if (!is_null($layout)) {
57-
//TODO:: File check, integrate with Loader
58-
//$this->layout = $layout . $this->layout_extension;
60+
$this->setLayout($layout);
5961
}
62+
6063
if (!is_null($data)) $this->data = $data;
6164
if (!is_null($uid)) {
6265
$this->guid = 'page_' . $uid;
@@ -147,6 +150,17 @@ protected function generateScripts() {
147150
static public function registerComponent() {
148151
return new self;
149152
}
153+
154+
public function setLayout($layout) {
155+
/** @var CmfeSimpleFileHelper $FileHelper**/
156+
$FileHelper = mfe::option('FileHelper');
157+
158+
if(!($this->layout = mfe::loadFile('@engine.@layout.' . $layout, $this->layout_extension))) {
159+
throw new CmfeException('Not found layout file: ' . $layout . $this->layout_extension);
160+
}
161+
162+
return $this;
163+
}
150164
}
151165

152166
mfe::registerComponent('page', 'mfe\PageCore');

libs/interfaces/ImfeLoader.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@
88
* @package mfe
99
*/
1010
interface ImfeLoader {
11-
function load($file, $PHAR = false);
11+
function load($file, $EXT = '.php');
1212

1313
function registerAliasDirectory($alias, $dir);
1414

15-
static function loadFile($file, $PHAR = false);
15+
function aliasDirectoryExist($alias);
16+
17+
static function loadFile($file, $EXT = '.php');
1618

1719
static function loadCore($file);
1820

libs/traits/TmfeStandardEngineMethods.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ static public function TmfeStandardEngineMethodsInit() {
1616
];
1717
}
1818

19+
/**
20+
* @param callable $callback
21+
* @return mfe
22+
*/
1923
static public function init(\Closure $callback = null) {
2024
$class = get_called_class();
2125
/** @var mfe $class */

libs/traits/TmfeStandardLoaderMethods.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,14 @@ protected function getRealPaths($path) {
8787
return $result;
8888
}
8989

90-
public function load($file, $PHAR = false, $returnContent = false) {
90+
public function load($file, $EXT = false) {
9191
if (isset($this->components->components['loader'])) {
92-
return $this->loader->load($file, $PHAR);
92+
return $this->loader->load($file, $EXT);
9393
} else {
9494
$class = get_called_class();
9595
/** @var mfe $class */
9696
$FileHelper = $class::option('FileHelper');
97-
$EXT = (!$PHAR) ? $FileHelper::$PHP : $FileHelper::$Phar;
97+
$EXT = (!$EXT) ? $FileHelper::$PHP : $EXT;
9898
$paths = $this->getRealPaths($file);
9999
if (isset($paths['extension'])) {
100100
$extension = $paths['extension'];
@@ -105,7 +105,7 @@ public function load($file, $PHAR = false, $returnContent = false) {
105105
if (file_exists($file . '.' . $extension . $EXT)) {
106106
$class::trigger('file.load', [$file . '.' . $extension . $EXT]);
107107
/** @noinspection PhpIncludeInspection */
108-
return (!$returnContent) ?
108+
return ($EXT == $FileHelper::$PHP || $EXT == $FileHelper::$Phar) ?
109109
include_once $file . '.' . $extension . $EXT : file_get_contents($file . '.' . $extension . $EXT);
110110
}
111111
}
@@ -133,13 +133,13 @@ static public function registerAlias($aliases, $dir) {
133133
$class::init()->registerAliasDirectory($aliases, $dir);
134134
}
135135

136-
static public function loadFile($file, $PHAR = false, $returnContent = false) {
136+
static public function loadFile($file, $EXT = false) {
137137
$class = get_called_class();
138138
/** @var mfe $class */
139139
if (isset($class::init()->loader)) {
140-
return call_user_func_array([get_class($class::init()->loader), __METHOD__], [$file, $PHAR]);
140+
return call_user_func_array([get_class($class::init()->loader), __METHOD__], [$file, $EXT]);
141141
}
142-
return $class::init()->load($file, $PHAR, $returnContent);
142+
return $class::init()->load($file, $EXT);
143143
}
144144

145145
static public function loadPhar($file) {

mfe.engine.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ final class mfe implements ImfeEngine, ImfeEventsManager, ImfeLoader {
4343
private function __construct() {
4444
@ini_set('display_errors', false);
4545

46-
set_error_handler(['mfe\CmfeRunHandler', 'errorHandler'], E_ALL);
47-
set_exception_handler(['mfe\CmfeRunHandler', 'exceptionHandler']);
46+
//set_error_handler(['mfe\CmfeRunHandler', 'errorHandler'], E_ALL);
47+
//set_exception_handler(['mfe\CmfeRunHandler', 'exceptionHandler']);
4848
register_shutdown_function(['mfe\mfe', 'stopEngine']);
4949
}
5050

@@ -98,7 +98,9 @@ final static public function stopEngine() {
9898
*/
9999
(mfe::option('MFE_AUTOLOAD')) ? (mfe::init()) : false;
100100

101-
//$page = &mfe::init()->page;
101+
//$page = mfe::init()->page;
102+
///** @var PageCore $page */
103+
//$page->setLayout('test');
102104
//
103105
//$page->_author = 'DeVinterX';
104106
//$page->_keywords = 'key,word';

0 commit comments

Comments
 (0)