MantisBT - v4.0 Release (Planning) |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0000283 | v4.0 Release (Planning) | Core Infrastructure | public | 2009-10-04 15:02 | 2016-12-29 10:11 |
|
Reporter | caseydk | |
---|
Assigned To | caseydk | |
---|
Priority | high | Severity | minor | Reproducibility | always |
---|
Status | assigned | Resolution | open | |
---|
Platform | | OS | | OS Version | |
---|
Product Version | | |
---|
Target Version | 4.0 | Fixed in Version | | |
---|
|
Summary | 0000283: Model & Controller Cleanup |
---|
Description | Based on feedback of a number of useful tools and smart people, I've collected some notes on how best to clean up the core modules to be cleaner, smaller, more OO-like, and more reusable in general. This will also serve to provide clean implementation for Add On Developers
I've started with the Companies module as an example. |
---|
Additional Information | The tips include:
* Fat models, skinny controllers - the do_(module)_aed.php files serve as the Controllers for the system directing input into the Models and handling the results. At present, there is a *huge* amount of business logic in these Controllers which requires the Model to be wrapped with the same logic each and every time in order to be used safely. Moving this logic into the Models makes them more usable by other modules and code.
* Centralize Access Control to the Models instead of keeping it spread around the View, Controllers, and everywhere else willy-nilly. This will improve security in general and make the Models more usable by other modules and code.
* Use the php5 style of contructors - __construct - as opposed to the php4 style classname format.
* Use the php5 style of calling parents. |
---|
Tags | No tags attached. |
---|
Relationships | |
Attached Files | |
---|
Issue History |
|
Date Modified | Username | Field | Change |
---|
2009-10-04 15:02 | caseydk | New Issue | |
2009-10-04 15:02 | caseydk | Status | new => assigned |
2009-10-04 15:02 | caseydk | Assigned To | => caseydk |
2009-12-08 11:48 | caseydk | Project | Pending Requests => v1.3 Release (Closed) |
2010-02-18 04:39 | caseydk | Project | v1.3 Release (Closed) => v2.0 Release (Closed) |
2010-05-04 20:38 | caseydk | Priority | immediate => high |
2010-05-14 07:58 | caseydk | Severity | major => minor |
2010-05-30 22:52 | caseydk | Project | v2.0 Release (Closed) => Pending Requests |
2010-06-11 06:01 | caseydk | Project | Pending Requests => v2.1 Release (Closed) |
2010-09-04 22:26 | caseydk | Project | v2.1 Release (Closed) => v2.4 Release (Closed) |
2011-06-07 22:16 | caseydk | Project | v2.4 Release (Closed) => Pending Requests |
2011-08-09 12:54 | caseydk | Project | Pending Requests => v3.0 Release |
2011-08-19 16:42 | caseydk | Note Added: 0002156 | |
2011-08-19 16:42 | caseydk | Additional Information Updated | |
2011-09-27 23:25 | caseydk | Project | v3.0 Release => Pending Requests |
2014-01-01 17:02 | caseydk | Project | Pending Requests => v4.0 Release (Planning) |
2014-01-21 17:57 | caseydk | Target Version | => 4.0 |
2014-03-30 22:14 | caseydk | Category | General => Core Infrastructure |
2014-06-14 18:43 | caseydk | Note Added: 0003484 | |
2014-06-21 20:29 | caseydk | Note Edited: 0003484 | bug_revision_view_page.php?bugnote_id=3484#r65 |
2016-12-26 10:25 | caseydk | Project | v4.0 Release (Planning) => Pending Requests |
2016-12-29 10:11 | caseydk | Project | Pending Requests => v4.0 Release (Planning) |