skipperbent / simple-php-router

Simple, fast and yet powerful PHP router that is easy to get integrated and in any project. Heavily inspired by the way Laravel handles routing, with both simplicity and expand-ability in mind.
631 stars 116 forks source link

How can I manipulate input values? #679

Open benfiratkaya opened 11 months ago

benfiratkaya commented 11 months ago

I have code like that:

function input($index = null, $defaultValue = null, ...$methods)
    {
        if ($index !== null) {
            return request()->getInputHandler()->value($index, $defaultValue, ...$methods);
        }

        return request()->getInputHandler();
    }
if (input("stockStatus") == 0) {
    $_POST["stock"] = -1;
}
echo input("stock");

I want to make "stock" value "-1" when "stockStatus" is 0. But the "stock" value does not change.

How can I set post value?

skipperbent commented 11 months ago

You are not supposed to change super global variables, they contain values parsed and specific to the the request so that is not supported. If you need to manipulate the values and use them later on in your code, you should move them to your own custom variables. The request helper class supports custom variables and is available on everywhere, so you could always take advantage of that:

request()->stock = input('stockStatus', 0);

request()->stock // equals 0