NAME
Mojo::Parameters - Parameters
SYNOPSIS
my $params = Mojo::Parameters->new( 'foo=bar&baz=23' );
say $params ->param( 'baz' );
my $params = Mojo::Parameters->new( foo => 'bar' , baz => 23);
push @$params , i => '♥ mojolicious' ;
say "$params" ;
|
DESCRIPTION
Mojo::Parameters is a container for form parameters used by Mojo::URL, based on RFC 3986 and the HTML Living Standard.
ATTRIBUTES
Mojo::Parameters implements the following attributes.
charset
my $charset = $params ->charset;
$params = $params ->charset( 'UTF-8' );
|
Charset used for encoding and decoding parameters, defaults to UTF-8
.
METHODS
Mojo::Parameters inherits all methods from Mojo::Base and implements the following new ones.
append
$params = $params ->append( foo => 'ba&r' );
$params = $params ->append( foo => [ 'ba&r' , 'baz' ]);
$params = $params ->append( foo => [ 'bar' , 'baz' ], bar => 23);
$params = $params ->append(Mojo::Parameters->new);
|
Append parameters. Note that this method will normalize the parameters.
Mojo::Parameters->new( 'foo=bar' )->append(Mojo::Parameters->new( 'foo=baz' ));
Mojo::Parameters->new( 'foo=bar' )->append( foo => 'baz' );
Mojo::Parameters->new( 'foo=bar' )->append( foo => [ 'baz' , 'yada' ]);
Mojo::Parameters->new( 'foo=bar' )->append( foo => [ 'baz' , 'yada' ], bar => 23);
|
clone
my $params2 = $params ->clone;
|
Return a new Mojo::Parameters object cloned from these parameters.
every_param
my $values = $params ->every_param( 'foo' );
|
Similar to "param", but returns all values sharing the same name as an array reference. Note that this method will normalize the parameters.
say $params ->every_param( 'foo' )->[0];
|
merge
$params = $params ->merge( foo => 'ba&r' );
$params = $params ->merge( foo => [ 'ba&r' , 'baz' ]);
$params = $params ->merge( foo => [ 'bar' , 'baz' ], bar => 23);
$params = $params ->merge(Mojo::Parameters->new);
|
Merge parameters. Note that this method will normalize the parameters.
Mojo::Parameters->new( 'foo=bar' )->merge(Mojo::Parameters->new( 'foo=baz' ));
Mojo::Parameters->new( 'foo=bar&yada=yada' )->merge( foo => 'baz' );
Mojo::Parameters->new( 'foo=bar&yada=yada' )->merge( foo => undef );
|
names
my $names = $params ->names;
|
Return an array reference with all parameter names.
say for @{ $params ->names};
|
new
my $params = Mojo::Parameters->new;
my $params = Mojo::Parameters->new( 'foo=b%3Bar&baz=23' );
my $params = Mojo::Parameters->new( foo => 'b&ar' );
my $params = Mojo::Parameters->new( foo => [ 'ba&r' , 'baz' ]);
my $params = Mojo::Parameters->new( foo => [ 'bar' , 'baz' ], bar => 23);
|
Construct a new Mojo::Parameters object and "parse" parameters if necessary.
pairs
my $array = $params ->pairs;
$params = $params ->pairs([ foo => 'b&ar' , baz => 23]);
|
Parsed parameter pairs. Note that this method will normalize the parameters.
param
my $value = $params ->param( 'foo' );
$params = $params ->param( foo => 'ba&r' );
$params = $params ->param( foo => qw(ba&r baz) );
$params = $params ->param( foo => [ 'ba;r' , 'baz' ]);
|
Access parameter values. If there are multiple values sharing the same name, and you want to access more than just the last one, you can use "every_param". Note that this method will normalize the parameters.
parse
$params = $params ->parse( 'foo=b%3Bar&baz=23' );
|
Parse parameters.
remove
$params = $params ->remove( 'foo' );
|
Remove parameters. Note that this method will normalize the parameters.
Mojo::Parameters->new( 'foo=bar&foo=baz&bar=yada' )->remove( 'foo' );
|
to_hash
my $hash = $params ->to_hash;
|
Turn parameters into a hash reference. Note that this method will normalize the parameters.
Mojo::Parameters->new( 'foo=bar&foo=baz' )->to_hash->{foo}[1];
|
to_string
my $str = $params ->to_string;
|
Turn parameters into a string.
Mojo::Parameters->new->pairs([ foo => 'bar' , baz => 23])->to_string;
|
OPERATORS
Mojo::Parameters overloads the following operators.
array
Alias for "pairs". Note that this will normalize the parameters.
say $params ->[0];
say for @$params ;
|
bool
Always true.
stringify
Alias for "to_string".
SEE ALSO
Mojolicious, Mojolicious::Guides, https://mojolicious.org.