aboutsummaryrefslogtreecommitdiffstats
path: root/core/functions.php
diff options
context:
space:
mode:
authorThomas Lange <code@nerdmind.de>2017-05-05 02:38:39 +0200
committerThomas Lange <code@nerdmind.de>2017-05-05 02:38:39 +0200
commit796ea918866c15f0d59ce178d095022edfaf096d (patch)
treeae2891847e9371921b9834f727c0bd9cd2be42f6 /core/functions.php
parent5b3e9c5b10d08d94b05b2afc38196eded71c7781 (diff)
downloadblog-796ea918866c15f0d59ce178d095022edfaf096d.tar.gz
blog-796ea918866c15f0d59ce178d095022edfaf096d.tar.xz
blog-796ea918866c15f0d59ce178d095022edfaf096d.zip
A significant increase in the response time has been achieved, since the template parameters "$ITEM['BODY']['TEXT']" and "$ITEM['BODY']['HTML']" are now no longer strings but closures (anonymous functions). This means that the underlying logic, which parses the content or converts it into Markdown, is not executed until one of these parameters is really needed and called in the template (which maybe significantly increases the response time on a long list of items which not use one of those two parameters).v2.1
This means that within templates you now have to call these parameters in the following way (note the brackets at the end, which represent a function call): <?=$ITEM['BODY']['TEXT']()?> <?=$ITEM['BODY']['HTML']()?> In the background, the anonymous functions are called and executes $Item->getBody() and $Item->getHTML() only when needed. Previously, $Item->getBody() and $Item->getHTML() were basically executed and the parsed content was passed to the template, regardless of whether these parameters are required in the template or not!
Diffstat (limited to 'core/functions.php')
-rw-r--r--core/functions.php16
1 files changed, 12 insertions, 4 deletions
diff --git a/core/functions.php b/core/functions.php
index 91a4006..fc97e3b 100644
--- a/core/functions.php
+++ b/core/functions.php
@@ -100,8 +100,12 @@ function generateItemData(Item $Item): array {
],
'BODY' => [
- 'TEXT' => $Item->getBody(),
- 'HTML' => $Item->getHTML()
+ 'TEXT' => function() use($Item) {
+ return $Item->getBody();
+ },
+ 'HTML' => function() use($Item) {
+ return $Item->getHTML();
+ }
],
'ATTR' => [
@@ -148,8 +152,12 @@ function generateUserItemData(User\Item $User): array {
],
'BODY' => [
- 'TEXT' => $User->getBody(),
- 'HTML' => $User->getHTML()
+ 'TEXT' => function() use($User) {
+ return $User->getBody();
+ },
+ 'HTML' => function() use($User) {
+ return $User->getHTML();
+ }
],
'ATTR' => [