Hi,
Francois is right with regard to how it works, but I disagree with the
implication he sees.

If you choose to use a helper you do not want it to magically change its
behaviour.

Why should it be a problem to exchange the sfJavascript to myJavascript
where needed?
You even can do a conscious decision where to make this replacement.
You can do conscious decisions where to keep the old behaviour.

If you really want to replace it everywhere, this is no problem, just do a
search and replace on the whole project.

By introducing magic we introduce uncertainity.
sfHelper->get('Javascript')->link() 
what will it return (despite the fact that this notation looks strange :-))?

And just a word of warning: I don’t see DRY violated by using static calls.
You really think magically&programmatically replacing behaviour is a good
idea for a web framework?

.:Fabian

PS: And If you try to say: Yes I want to javascript helper to output
different javascript based on the browser used. Then ok: If you want this
you can introduce this magic in your myJavascript helper class. Therefore
you don’t need the magic to switch the class completely. And even if you
really really want to do this, use a Adaptor pattern for this


-----Original Message-----
From: symfony-devs@googlegroups.com [mailto:[EMAIL PROTECTED]
On Behalf Of Francois Zaninotto
Sent: Donnerstag, 3. Juli 2008 11:37
To: symfony-devs@googlegroups.com
Subject: [symfony-devs] Re: roadmap for helpers in 1.2


You can't override it partially.

Imagine that you have

class myJavascript extends sfJavascript
{
  public static  function link_to_remote()
  {
    //do things
  }
}

Ho do you change all calls to sfJavascript::link_to_remote() by calls
to myJavascript::link_to_remote() without changing the template code ?

That's why a variable containing an instance of the helper object is
more extensible.

François

2008/7/3 Andreas Hucks <[EMAIL PROTECTED]>:
>
> Why not static methods?
>
> sfJavascript::link_to_remote()
>
> Supports autoloading, namespaces, is clean and readable, is OOP.
>
> Cheers,
> Andreas
>
>
> Bernhard Schussek schrieb:
>> I don't like the $h idea. It's complicated to understand for new
>> developers, the extra squared brackets and quotes add unnecessary
>> complexity and are prone to errors and last but not least, the array
>> syntax is totally misused.
>>
>> IMO we should opt for the most simple, but most obvious solution: By
>> simply defining the objects in the template.
>>
>> <?php $Url = new sfUrlHelper ?>
>>
>> <html code...>
>>
>> <?php echo $Url->link_to(....) ?>
>>
>> This way it's very easy to grasp what's going on, without adding
>> unnecessary extra magic.
>>
>>
>> Bernhard
>>
>>
>> On Wed, Jul 2, 2008 at 9:41 PM, Tristan Rivoallan
>> <[EMAIL PROTECTED]> wrote:
>>> On Wed, Jul 2, 2008 at 8:03 PM, Marijn Huizendveld
>>> <[EMAIL PROTECTED]> wrote:
>>>
>>>> I can see some advantages besides the namespacing. Let's just say
>>>> that all the helpers inherit their functionality from the library.
>>>> Becase of the oop nature  those helper functions are easily
>>>> overwritten without _losing_ the original functionality. E.g.
>>> indeed. i said i liked the "$h" idea because it was not too cumbersome
>>> to use. (even if it's a bit more complicated than the actual helpers).
>>>
>>> ++
>>> tristan
>>>
>>> --
>>> Tristan Rivoallan
>>> http://www.clever-age.com
>>> Clever Age - conseil en architecture technique
>>> GSM: +33 6 219 219 33 Tél: +33 1 53 34 66 10
>>>
>>
>> >
>
> >
>




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

Reply via email to