]> Kevux Git Server - koopa/commit
Update: always return and assign a copy of objects by default, but provide a trait...
authorKevin Day <thekevinday@gmail.com>
Sun, 11 Feb 2018 22:39:21 +0000 (16:39 -0600)
committerKevin Day <thekevinday@gmail.com>
Sun, 11 Feb 2018 22:44:01 +0000 (16:44 -0600)
commite5f6bd697999ba113877d0530dc0b822a85d8412
treee67779af4a2ec55618c73fd56096aa9bf5a0156d
parent365ecec28fd89df14d2f67211583fdcc6d593176
Update: always return and assign a copy of objects by default, but provide a trait to use references

The default behavior is to favor security and separation between different objects.
Everytime an object is assigned or returned via a c_base_return class type, use a copy (clone) of that object.
This is good practice for security and data integrity.

In the event that a reference is needed (generally a good practice for performance and resource reasons), a trait is provided.
This trait must be manually assigned to each class.
This functionality must use distinct functions for assigning and retreiving the references to guarantee consistency in design and avoidance of accidents.

It is very important to note that this design can cause performance issues if this particular design is not understood.

This previous designs intended this behavior, but was not consistent.
This behavior should now be more consistent.
common/base/classes/base_return.php
common/theme/classes/theme_dom.php
common/theme/classes/theme_markup.php