From 562e322fe595b4d3307ff28a96c8c5fbcc284010 Mon Sep 17 00:00:00 2001 From: Fabio Bas Date: Thu, 25 Feb 2016 17:01:17 +0100 Subject: Applied some misc optimizations to class serialization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Avoid saving in the page state the values of class variables if they’re still the default. Reduces page state size, based on the work initiated in 8dc9d4f7d49bcbeaf4998baf74a4f4459967c1f0 --- framework/Web/UI/WebControls/TFont.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'framework/Web/UI/WebControls/TFont.php') diff --git a/framework/Web/UI/WebControls/TFont.php b/framework/Web/UI/WebControls/TFont.php index 52a5db71..ab09c58e 100644 --- a/framework/Web/UI/WebControls/TFont.php +++ b/framework/Web/UI/WebControls/TFont.php @@ -53,6 +53,23 @@ class TFont extends TComponent */ private $_size=''; + /** + * Returns an array with the names of all variables of this object that should NOT be serialized + * because their value is the default one or useless to be cached for the next page loads. + * Reimplement in derived classes to add new variables, but remember to also to call the parent + * implementation first. + */ + protected function __getZappableSleepProps(&$exprops) + { + parent::__getZappableSleepProps($exprops); + if ($this->_flags===0) + $exprops[] = "\0TFont\0_flags"; + if ($this->_name==='') + $exprops[] = "\0TFont\0_name"; + if ($this->_size==='') + $exprops[] = "\0TFont\0_size"; + } + /** * @return boolean whether the font is in bold face. Defaults to false. */ -- cgit v1.2.3