Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Begin the crusade against references
See smrealms#317. In strict PHP, you can only assign variables by reference. Things that are not variables include function calls and constants. So we begin the herculean task of removing all unneeded references. Here are some important details about references: * Objects are always passed/copied by reference (in the c++ sense). We can pass an object without the `&` and still access/modify its internal data. * Arrays are passed/copied by value, but not really because of copy-on-write, which means that it will only make a copy of the array if you try to modify it. * References disable copy-on-write. If you have an array that was copied by value, and then you take a reference to it, you will immediately make a copy of it, even if the reference doesn't modify that array. >>> Moral of the story <<< Do not use references in an attempt to improve performance. PHP does all the right performance things behind the scenes _if_ you are using the language in the intended way. References are only intended for when you truly want to pass something to another function and have that function modify it. For more details, see http://schlueters.de/blog/archives/125-Do-not-use-PHP-references.html
- Loading branch information