mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #37467
[Bug 1620416] [NEW] Use of assign_by_ref() is not clear as to what is required
Public bug reported:
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.
** Affects: mahara
Importance: Low
Status: New
** Changed in: mahara
Milestone: None => 16.10.0
--
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
Follow ups
-
[Bug 1620416] Re: Use of assign_by_ref() is not clear as to what is required
From: Robert Lyon, 2016-10-21
-
[Bug 1620416] Re: Use of assign_by_ref() is not clear as to what is required
From: Robert Lyon, 2016-09-23
-
[Bug 1620416] A change has been merged
From: Mahara Bot, 2016-09-23
-
[Bug 1620416] A patch has been submitted for review
From: Mahara Bot, 2016-09-23
-
[Bug 1620416] A change has been merged
From: Mahara Bot, 2016-09-23
-
[Bug 1620416] Re: Use of assign_by_ref() is not clear as to what is required
From: Cecilia Vela Gurovic, 2016-09-20
-
[Bug 1620416] A patch has been submitted for review
From: Mahara Bot, 2016-09-07
-
[Bug 1620416] Re: Use of assign_by_ref() is not clear as to what is required
From: Cecilia Vela Gurovic, 2016-09-07
-
[Bug 1620416] Re: Use of assign_by_ref() is not clear as to what is required
From: Cecilia Vela Gurovic, 2016-09-07
-
[Bug 1620416] Re: Use of assign_by_ref() is not clear as to what is required
From: Aaron Wells, 2016-09-06
-
[Bug 1620416] Re: Use of assign_by_ref() is not clear as to what is required
From: Robert Lyon, 2016-09-05