Re: Enums, flags and ::
| From: | Steph Fox | Date: | Tue, 25 Oct 2005 18:30:21 +0000 |
| Subject: | Re: Enums, flags and :: | ||
| References: | 1 | Groups: | php.gtk.dev |
| Request: | Send a blank email to php-gtk-dev+get-1944@lists.php.net to get a copy of this message | ||
Hi Madeleine,
It's down to PHP 5/Zend Engine 2's object support. We didn't have this in
PHP 4, so the bindings were made via GtkEnumType and we had the same syntax
as in GTK+.
Basically all it means is that something like, say, GTK_WIN_POS_MOUSE, is
now registered as a constant named WIN_POS_MOUSE within a zend_class_entry
struct named GTK.
I have to say it makes absolute sense to do it this way from an internals
perspective - much cleaner, and probably faster when it comes to lookups -
it's just a bit of a thrower on the user side.
- Steph
----- Original Message -----
From: "Madeleine D." <mmdrake@bctonline.com>
To: "Steph Fox" <steph@zend.com>; "Andrei" <andrei@gravitonic.com>
Cc: "PHP-GTK dev" <php-gtk-dev@lists.php.net>
Sent: Tuesday, October 25, 2005 7:12 PM
Subject: Re: [PHP-GTK-DEV] Enums, flags and ::
> Steph -
>
> I hit the same thing on my upgrade attempt.
>
> Christian's right, in that I see so much that needs to be changed already,
> the Enums/Flags would be just one more thing to do. Since I've got about
> 40k of code, that's no small thing, but it's not fatal either.
>
> My question is: why do they need to change? What is being gained here?
>
> Madeleine D.
>
>
>
> At 04:50 PM 10/25/05 +0100, Steph Fox wrote:
> >Before it's too late (assuming it isn't already): Is there any way we can
> >return enums/flags to the standard GTK format, as they were in PHP-GTK 1?
> >
> >If you remember that far back, I spent more than a day trying to work out
> >what I was doing wrong when every enum in sight failed in an old script I
> >upgraded to PHP-GTK 2. I don't think I'm going to be the only
scriptkiddie
> >baffled by that change.
> >
> >It's also the one area Christian and I can't come to an agreement over in
> >our coding standards discussions, because what _should_ be a constant is
> >being treated as some kind of a pseudo-method, which makes either
approach
> >inconsistent by definition.
> >
> >I know it'd be a BC breakage for PHP-GTK 2 to change this now, but then
> >again we haven't released v. 2 yet. At present it's a BC breakage for
> >PHP-GTK 1, which is probably more serious.
> >
> >So the question is, do enums and flags _have_ to be registered as class
> >entry constants for ZE 2 to deal with them? Or is it just a matter of
> >convenience?
> >
> >- and the next question is, assuming it's possible to register them as
> >global constants, should we?
> >
> >- Steph
> >
> >--
> >PHP-GTK Development Mailing List (http://gtk.php.net/)
> >To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >