← Back to team overview

mahara-contributors team mailing list archive

[Bug 1620416] Re: Use of assign_by_ref() is not clear as to what is required

 

To test this fix, the results before and after applying the changes
should be the same. We need to test that the functionality that uses the
data passed by reference (assign_by_ref) is not changed when we use the
assign() instead.

-- 
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:
  In Progress

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