Returning from a template

July 25th, 2011

Ever needed to return from a template earlier than at its end? Exit in the middle or even at the very beginning because you don’t want to print the rest of the template?
Read the rest of this entry »

Fake function/method overloading in PHP

June 26th, 2011

Ever needed to call the same function with different number of parameters? Easy right, just use default values:

  1. function tryMe($param1, $param2 = NULL, $param3 = NULL) {}

But what if you want to make the first parameter optional?
Here’s a simple technique for doing so it in a transparent way.
Read the rest of this entry »

Presenter lifecycle after form is submitted

June 19th, 2011

Nette documentation doesn’t provide details about methods execution order in case of a submitted form. So hear hear, it is this:

  1. action<Action>
  2. createComponent<FormName>
  3. <FormName>Submitted
  4. render<Action>

Read the rest of this entry »

Missing layout? Make sure you define block for content

June 16th, 2011

I’ve had some troubles with a page that refused to be wrapped in a layout. It turned out I accidentally erased {block #content} in my presenter template. Read on for the background logic explanation.
Read the rest of this entry »

Shuffling associative array

April 19th, 2011

We have shuffle() to reorder a numeric array, we have array_rand() to randomly pick a specific number of values from an array but there’s no built-in command for shuffling an associative array. After having seen a few pretty bad solutions I decided to offer my own.

Read the rest of this entry »