Great points, another idea would be that $msgSet->some_message_name
returns a very simple object which has a toString method defined, as
well as other things like parse() and such. Then $msgSet->test or
$msgSet->test->parse( 3 ) could both return strings and work just fine.
To Roan's point, using $msgSet->{test-message} isn't too bad - but
switching to _ from - might start being popular anyways so a switch over
might be something we could consider.
On 3/30/10 12:58 AM, Daniel Kinzler wrote:
> I like it, especially the "messages in sets" thing. Though there should be a
> smart way to avoid loading the same set more than once. Perhaps a static
> factory
> class which manages one instance per set name.
>
> The magic properties also arn't bad, though I kind of like the chaining
> thing...
> $msgSet->parse( 'test-number', 4 ) isn't so nice, it would be much nicer to
> have
> $msgSet->test_number->parameters( 4 )->escape() etc. That would however mean
> that the magic properties wouldn't be strings, but objects themselves. not
> sure
> if that's good for performance...
>
> just some thoughts
>
> -- daniel
>
>
>
> Trevor Parscal schrieb:
>
>> I have been experimenting with a very different approach to this problem
>> which essentially goes like this...
>>
>> // Provide a source for a message set at start-up time, this opens up other
>> message sources in the future
>> MessageCache::bind( 'myMessages', new MessageFile( 'i18n/myMessages.php' ) );
>>
>> // Get a message set object for that set
>> $msgSet = new MessageSet( 'myMessages' );
>>
>> // Use messages as *magic* properties of the object
>> echo "$msgSet->name says $msgSet->test";
>>
>> // Use a message, passing in parameters
>> echo $msgSet->parse( 'test-number', 4 );
>>
>> I have some basic code for this, but I'm mostly just suggesting it as an
>> alternative to using a static class like this. I think the other thing
>> this implies is something that would be beneficial to MediaWiki -
>> putting messages is sets (similar to gettext's domains). Anyways, just
>> my 2 cents.
>>
>> - Trevor
>>
>> _______________________________________________
>> Wikitech-l mailing list
>> [email protected]
>> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>>
>
> _______________________________________________
> Wikitech-l mailing list
> [email protected]
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>
_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l