Why not use a view helper for this instead? This is exactly what they
are made for.

Regards,
Ryan Rose
http://www.digiwize.com


On Feb 8, 5:49 am, "Károly Kiripolszky" <[EMAIL PROTECTED]>
wrote:
> Hi ppl!
>
> I discovered that it is possible to pass functions defined in the
> controller to the view. However I must prefix the $this->set()
> statement with an @ symbol or else PHP claims that there's and
> undefined constant in the view at the line you try to call it. For
> example I define my title formatting function in the controller to
> keep the view clean as possible:
>
> --
> function some_action()
> {
>     // ... some code here ...
>
>     // function for title formatting
>     function tf($s)
>     {
>         $ret = "";
>         $s = str_replace("_", " ", $s);
>         for ($i = 0; $i < strlen($s); $i++)
>         {
>             $ucase = false;
>             if ($i == 0)
>                 $ucase = true;
>             else
>                 if ($s[$i-1] == " " or $s[$i-1] == "-")
>                     $ucase = true;
>             $ret .= $ucase ? strtoupper($s[$i]) : $s[$i];
>         }
>         return $ret;
>     }
>
>     // ... some more code ...
>
>     @$this->set("tf", tf);}
>
> ---
>
> I need this because in an image gallery gallery names come from folder
> names and so I need to convert strings like "jean-paul_belmondo" to
> "Jean-Paul Belmondo" to display it to the user. So in the view I use
> the tf() function like tf($gallery_name). Nevertheless I must suppress
> the output of $this->set() or else I got an undefined constant notice.
> I wonder why PHP sends a notice when otherwise the function is
> functioning. :)


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to