In-Portal Issue Tracker - In-Portal CMS
|
|||||
Viewing Issue Advanced Details | |||||
|
|||||
ID: | Category: | Type: | Reproducibility: | Date Submitted: | Last Update: |
475 | [In-Portal CMS] Optimization | task | always | 2009-12-23 02:24 | 2012-07-25 05:33 |
|
|||||
Reporter: | alex | Platform: | |||
Assigned To: | !COMMUNITY | OS: | |||
Priority: | normal | OS Version: | |||
Status: | closed | Product Version: | 5.0.2-B1 | ||
Product Build: | Resolution: | fixed | |||
ETA: | none | Fixed in Version: | 5.2.0-B1 | ||
Reference: | http://groups.google.com/group/in-portal-dev/browse_thread/thread/21f5102cb136107e?hl=en | ||||
Change Log Message: | |||||
Estimate Points: | 2 | ||||
|
|||||
Summary: | 0000475: Inappropriate "eval" usage in kBase::makeClass method | ||||
Description: |
Method kBase::makeClass is calling ref_call_user_func_array no matter if he has only class name or class name + constructor arguments passed. This slows downs the things a little bit. I propose to use code, mentioned above, that was called from kFactory class to optimize things. if ( func_num_args() == 1 ) { $class = new $real_class(); } else { $func_args = func_get_args(); $pseudo_class = array_shift($func_args); $class =& ref_call_user_func_array( Array ($real_class,'makeClass'), $func_args ); } ------------------------- Also kDBLIst class constructor during filter creation calls makeClass 13 times, but there are only two class types it creates, so we could create two classes and just clone them to create other fiters. Here is problematic code: $filters = $this->getFilterStructure(); foreach ($filters as $filter_params) { $filter =& $this->$filter_params['type']; $filter[ $filter_params['class'] ] =& $this->Application->makeClass('kMultipleFilter', $filter_params['join_using']); } |
||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Relationships | |||||
Attached Files: | |||||
|
|||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2012-07-25 05:33 | alex | Note Added: 0005082 | |||
2012-07-25 05:33 | alex | Status | resolved => closed | ||
2011-10-22 05:37 | alex | Estimate Points | => 2 | ||
2011-09-27 05:06 | alex | Status | reviewed and tested => resolved | ||
2011-09-27 05:06 | alex | Fixed in Version | => 5.2.0-B1 | ||
2011-09-27 05:06 | alex | Resolution | open => fixed | ||
2011-09-27 05:05 | alex | Note Added: 0003922 | |||
2011-09-27 05:05 | alex | Status | needs testing => reviewed and tested | ||
2011-09-27 05:05 | alex | Note Added: 0003921 | |||
2011-09-27 05:05 | alex | Assigned To | => !COMMUNITY | ||
2011-09-27 05:05 | alex | Developer | => alex | ||
2011-09-27 05:05 | alex | Status | active => needs testing | ||
2011-09-24 05:14 | alex | Note Added: 0003893 | |||
2011-09-23 21:54 | Dmitry | Target Version | Icebox => 5.2.0 | ||
2009-12-23 02:24 | alex | Target Version | => Icebox | ||
2009-12-23 02:24 | alex | New Issue | |||
2009-12-23 02:24 | alex | Reference | => http://groups.google.com/group/in-portal-dev/browse_thread/thread/21f5102cb136107e?hl=en |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|