|
Posted by Jerry Stuckle on 07/31/07 01:43
amygdala wrote:
> Hi all,
>
> I'm starting this new project in which I'ld like to implement sort of a
> design pattern I have seen being used in the CodeIgniter framework.
>
> Basically, the site will examine the URI and based on the segments of the
> URI it will fire up some controller class, for instance, say I have an inbox
> in which end-users can view messages they got from other users, they'ld
> start at:
>
> http://www.somesite.com/inbox/view/
>
> This will then call upon the function view in the class inbox:
>
> class Inbox extends Controller
> {
> // ...
> public function view()
> {
> // ...
> }
> // ...
> }
>
> Any trailing segments of the URI will be passed as supplement arguments to
> the function.
>
> Now, if $_POST variables are sent to some page and are needed by the called
> upon function in the appropriate class, would it be bad practice to simply
> extract those $_POST variables from the superglobal $_POST inside this
> function? Preferably I would like to send the $_POST variables as arguments
> to the function, but I'm not sure how to implement this correctly, nor am I
> even completely sure as to why this would be better practice, other than
> that the function will only accept predefined arguments.
>
> What are your views on implementing such a 'pattern' (if you will). Would
> you even suggest such an implementation, or am I bound to get into trouble
> with proposed pattern?
>
> Thank you in advance.
>
>
It's better to pass parameters. It makes your class reusable.
What happens, for instance, if later you decide to store the data in the
$_SESSION variable? Or you need to change the name of the $_POST
variable, i.e. due to a conflict? Your existing code would be pretty
worthless.
A compromise would be to have a function which only extracts the data,
but I don't like that.
And you can send the variables - just like you do anything else, i.e.
func($_POST['var'1]);
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[Back to original message]
|