- WIP on the exception handler
This commit is contained in:
1 parent
69db3efdce
commit
082bdd4ad3
3 files changed
+67
-12
No files matched your search
@@ -5,7 +5,6 @@ namespace %NAMESPACE%;
|
||||
%USE%
|
||||
|
||||
# %PATHNAME%
|
||||
|
||||
if (! class_exists("%NAMESPACE%\%CLASSNAME%", false) ) {
|
||||
|
||||
class %CLASSNAME% %EXTENDS% {
|
||||
@@ -28,6 +27,8 @@ if (! class_exists("%NAMESPACE%\%CLASSNAME%", false) ) {
|
||||
$this->exportFunctions();
|
||||
|
||||
static::$context = $picea->context;
|
||||
|
||||
$picea->declareLoadedTemplate(static::class, __FILE__);
|
||||
}
|
||||
|
||||
public function output(array $variablesList = []) : void
|
||||
@@ -61,14 +62,14 @@ if (! class_exists("%NAMESPACE%\%CLASSNAME%", false) ) {
|
||||
%FUNCTIONS%
|
||||
}
|
||||
|
||||
public function getSourceLineFromException(\Throwable $ex) : ? int
|
||||
public static function getSourceLineFromException(int $sourceLine) : ? int
|
||||
{
|
||||
$sourceFile = file_get_contents("%TEMPLATE%");
|
||||
|
||||
if ( $sourceFile ) {
|
||||
foreach(explode(PHP_EOL, $sourceFile) as $line => $content) {
|
||||
if ( strpos($content, str_replace('$', '%', '$CONTENT$')) !== false ) {
|
||||
return $ex->getLine() - $line;
|
||||
return $sourceLine - $line;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -76,6 +77,16 @@ if (! class_exists("%NAMESPACE%\%CLASSNAME%", false) ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function getParam(string $param) : ? string
|
||||
{
|
||||
return [
|
||||
'classname' => "%CLASSNAME%",
|
||||
'namespace' => "%NAMESPACE%",
|
||||
'extends' => "%EXTENDS_TEMPLATE%",
|
||||
'view' => "%FULLPATH%",
|
||||
][$param] ?? null;
|
||||
}
|
||||
|
||||
public function __invoke(array $variablesList = []) : string
|
||||
{
|
||||
ob_start();
|
||||
@@ -86,4 +97,5 @@ if (! class_exists("%NAMESPACE%\%CLASSNAME%", false) ) {
|
||||
|
||||
}
|
||||
|
||||
return [ 'classname' => "%CLASSNAME%", 'namespace' => "%NAMESPACE%", 'extends' => "%EXTENDS_TEMPLATE%", 'view' => "%FULLPATH%" ];
|
||||
|
||||
return [ 'classname' => %CLASSNAME%::getParam('classname'), 'namespace' => %CLASSNAME%::getParam('namespace'), 'extends' => %CLASSNAME%::getParam('extends'), 'view' => %CLASSNAME%::getParam('view') ];
|
||||
Reference in new issue
Block a user