Anonymous | Login | Signup for a new account | 2023-03-27 14:12 CDT | ![]() |
Main | My View | View Issues | Change Log | Roadmap | Docs | Wiki | Repositories |
Viewing Issue Simple Details [ Jump to Notes ] [ Wiki ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||
ID | Category | Type | Reproducibility | Date Submitted | Last Update | ||
0000475 | [In-Portal CMS] Optimization | task | always | 2009-12-23 02:24 | 2012-07-25 05:33 | ||
Reporter | alex | View Status | public | Project Name | In-Portal CMS | ||
Assigned To | !COMMUNITY | Developer | |||||
Priority | normal | Resolution | fixed | Fixed in Version | 5.2.0-B1 | ||
Status | closed | Product Version | 5.0.2-B1 | Target Version | 5.2.0 | ||
Time Estimate | No estimate | ||||||
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']); } |
||||||
Additional Information | |||||||
Tags | No tags attached. | ||||||
Reference | http://groups.google.com/group/in-portal-dev/browse_thread/thread/21f5102cb136107e?hl=en | ||||||
Change Log Message | |||||||
Estimate Points | 2 | ||||||
Attached Files | |||||||
|
![]() |
|
![]() |
|
![]() alex (manager) 2011-09-24 05:14 |
This maybe is already done. Needs to be checked. |
![]() alex (manager) 2011-09-27 05:05 |
This was already done during mass refactoring in 5.2.0 |
![]() alex (manager) 2011-09-27 05:05 |
Will test later on. |
![]() alex (manager) 2012-07-25 05:33 |
Since 5.2.0 version was released. |
![]() |
|||
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 |
Main | My View | View Issues | Change Log | Roadmap | Docs | Wiki | Repositories |
Web Development by Intechnic![]() In-Portal Open Source CMS |