Passing instance objects between controller and model |
Are there any gotchas to creating standard PHP classes and passing instances of them between controllers and models? I don't mind putting include_once(APPPATH.'models/Some_Php_Class.php'); at the top of my controller if it means I can group posted items into a single self-documenting object that has it's own validation methods, etc. that I can pass to the model. Or equally, I would like to pull a collection of object instances into the controller and build selection arrays based on a criteria.
Could I run into concurrency issues with this practice?
Imho CodeIgniter uses libraries to create objects that can be used by multiple controllers and models.
http://www.codeigniter.com/userguide3/ge...aries.html (03-20-2016, 09:20 AM)Shawn Wrote: Are there any gotchas to creating standard PHP classes and passing instances of them between controllers and models? I don't mind putting include_once(APPPATH.'models/Some_Php_Class.php'); at the top of my controller if it means I can group posted items into a single self-documenting object that has it's own validation methods, etc. that I can pass to the model. Or equally, I would like to pull a collection of object instances into the controller and build selection arrays based on a criteria. No issues that I'm aware of. My current practice is similar, using standard PHP classes and I have the model create an instance of that class and fill in the class properties based on table column names. Then the model has a save method which determines if it's an update/insert based on whether it's primary key is null or not. So, nope. Go for it.
in order to prevent include_once calls we made a pre controller Hook which autoloads those classes
and all classes are stored within a new folder called objects inside the application directory PHP Code: class AppAutoLoadObjects { and the hook in your hooks.php is very simple PHP Code: $hook['pre_system'][] = array( |
Welcome Guest, Not a member yet? Register Sign In |