mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #37468
[Bug 1620416] Re: Use of assign_by_ref() is not clear as to what is required
When I change the lib/web.php line
$smarty->assign_by_ref('JAVASCRIPT', $javascript_array);
to
$smarty->assign('JAVASCRIPT', $javascript_array);
The resulting dataroot/dwoo/compile/.../htdocs/mahara-
testing/mahara/htdocs/theme/raw/templates/header/head.tpl.d17.php looks
to be the same for either option
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1620416
Title:
Use of assign_by_ref() is not clear as to what is required
Status in Mahara:
New
Bug description:
In Mahara we have a bunch of $smarty->assign_by_ref('item',
$variable);
It was originally added to smarty/dwoo due to the following
"The assign_by_ref() original intention in Smarty 2 was to work around
the object-by-copy behavior of PHP4."
"The _by_ref methods have been introduced in Smarty2 mainly to be able
to pass objects to the templates in PHP4. In PHP5 these are passed
alway as a reference."
But it doesn't look like we use them in a true reference sort of way
What I mean is, this example shows referenced vs not referenced
'title' variable:
$smarty = smarty();
$title = 'cats';
$smarty->assign('title', $title);
$smarty->assign_by_ref('titleref', $title);
$title = 'dogs';
$smarty->display('template.tpl');
In the template it will display 'cat' as title and 'dogs' as titleref
rather than 'cat'.
We don't support PHP4 and so should clean up the code and make the
assign_by_ref() calls simply assign() where appropriate to make the
code clear as to what we are wanting.
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1620416/+subscriptions
References