Sunday, March 20, 2011

Cleaning up parameters

I decided that one-letter parameters would be only for internal application use, so that all other can be directly used for querying data. That way I can separate them out before every action, by using a private action in the root controller like this:

sub begin : Private {
my ( $self, $c) = @_;
my ($p, $i);
$p = $c->req->params;
for (grep { /^\w$/ } keys %{$p}) {
$i->{$_} = $p->{$_};
delete $p->{$_}
}

$c->stash->{params} = $p;
$c->stash->{int_params} = $i;
}

Now I have a set of separate parameters that I can use

  • v = view
  • f = format
  • q = query
  • p = page
  • n = number per page
  • s = sort
  • c = columns
  • l = language

No comments: