Re: Features Page
| From: | Steph Fox | Date: | Tue, 20 Jun 2006 05:36:08 +0000 |
| Subject: | Re: Features Page | ||
| References: | 1 | Groups: | php.gtk.dev |
| Request: | Send a blank email to php-gtk-dev+get-3108@lists.php.net to get a copy of this message | ||
Hey Anant, that was fast work!
Some notes I made on the way through reading them:
Sorry to disappoint you but native Unicode support won't arrive until PHP 6.
ATK and Pango are a bit behind (in PHP-GTK implementation) - we have a _lot_ of work to do there. Mention them though, fine.
Internal extension name is still 'gtk'. It's not possible to put a hyphen in an internal name. (I know, I tried.)
I still haven't figured whether there's a huge difference between dl() and .ini loading other than the time of loading.... both are recognised as external mechanisms in PHP 5. Andrei might be able to clarify the situation.
You need to say something more explicit about 'global constants' in practical terms. Nobody else knows what that means.
Andrei: note that 'deprecated widgets will still work...' ;)
- Steph
----- Original Message ----- From: "Anant Narayanan" <anant@kix.in>
To: "[PHP-GTK-DEV]" <php-gtk-dev@lists.php.net>
Sent: Tuesday, June 20, 2006 7:20 AM
Subject: [PHP-GTK-DEV] Features Page
Hi all, Here's a rough sketch of what the features/changes page for PHP-GTK 2 might look like. It still needs a little work; adding links and probably changing the wording a bit. We could have this as a stand alone page on gtk.php.net. I was also contemplating on making a `New Widgets Gallery' with screenshots of all the latest widgets (aka Andrei's presentation). This could be either in the docs, or on the features page itself. Let me know. Cheers, - Anant __________ NOD32 1.1380 (20060125) Information __________ This message was checked by NOD32 antivirus system. http://www.eset.com--------------------------------------------------------------------------------
<?php commonHeader('PHP-GTK 2 Features'); ?> <h1>PHP-GTK 2 Features</h1> <p> PHP-GTK 2 is the next major release of PHP-GTK and is a complete rewrite. It's based on PHP 5 and Gtk+ 2.6 and hence brings along full object-orientation and a rich widget base. Although PHP-GTK 2 is mostly backwards compatible, it is broken where necessary. This page should help you find out how PHP-GTK 2 differs from PHP-GTK 1 and also familiarize yourself with all its new features. </p> <a name="features"></a> <h2>Features</h2> <p> PHP 5 and Gtk+ 2.6 bring along with them an assortment of features that we are sure you will love to use in PHP-GTK 2! </p> <ul> <li><b>Powerful Object Orientation</b><br /> You now have all the modern concepts of object orientation to help write applications in PHP-GTK 2, which includes things like exceptions , interfacing and overloading. </li> <li><b>Proper Garbage Collection</b><br /> In PHP-GTK 1, problems with the underlying object system resulted in allocated memory that could not be freed at the end of the objects lifetime. But, that's not the case in PHP-GTK 2, objects are destroyed as soon as they stop being used, so you can make long-running scripts without the fear of excessive memory consumption. </li> <li><b>Create objects easily</b><br /> If you were confused about when to assign objects instantiated by the `new' operator by reference, worry no more. With PHP-GTK 2 you can use regular assignment and forget about the & operator! </li> <li><b>Unicode Support</b><br /> All the user text data is now handled in UTF-8, and PHP-GTK 2 expects the input to be the same. PHP-GTK 2 will automatically handle conversion of input and output strings based on a global code-page setting. And, once PHP 5.2 is out, you can look forward to native Unicode support too. </li> <li><b>Based on Gtk+ 2</b><br /> Gtk+ 2 is seamlessly mapped to PHP's object model. You can use all the latest bells and whistles that it brings along; cool new widgets, a new stock icon system, theme-able icons, and the powerful model-view architecture. </li> <li><b>Atk and Pango support</b><br /> You also have access to the Atk toolkit which is a standard way of adding accessibility to your applications. This also means that nearly all key bindings are now customizable! Pango, the open-source framework for layout and rendering i18n text, allows you to internationalize your PHP-GTK 2 application with ease. </li> <li><b>Better Pictures!</b><br /> Gdk 2 now contains GdkPixbuf which is all the more powerful. With widgets like GtkImage, you'll have no trouble in peppering your applications with images and animations. Gdk 2 is also based on the new object system, has double-buffering for smooth rendering, and much better Win32 support. </li> <li><b>Easy Extensibility</b><br /> PHP-GTK 2 was designed with extensibility in mind, so whether you need make a custom widget, or wrap a 3rd party widget in PHP, things are much easier with the infrastructure that PHP-GTK 2 provides. </li> <a name="changed"></a> <h2>Changes</h2> <p> Since PHP-GTK is a complete rewrite, there are a few important changes that you should know of. </p> <ul> <li><b>Extension Name</b><br /> The internal extension name is now 'php-gtk' instead of the earlier 'gtk'. </li> <li><b>No more dl()</b><br /> Although it it still possible to load the extension via dl(), it is no longer the recommended mechanism. You must load the extension via the php.ini file. (The shared library is now called php-gtk2.so (or dll, as the case may be) </li> <li><b>Uses Exceptions</b><br /> Since PHP 5 now has exception support, PHP-GTK 2 fully utilizes the feature to generate exceptions for methods that use the GError mechanism, in code-page to UTF8 conversions, and if something goes wrong during object construction. </li> <li><b>No more global constants</b><br /> Thanks to PHP 5, Global constants are no more. This is one of the backward-incompatible changes. All enumerations, flags and other constants are now part of top-level module classes such as Gtk, Gdk, Atk and Pango. </li> <li><b>Connecting Signals</b><br /> The confusing connect_object() method of PHP-GTK 1 has been deprecated in favor of simpler substitutes, connect() and connect_simple(). </li> <li><b>Deprecated Widgets</b><br /> Some of the older widgets have been deprecated in favor of more powerful and easy to use widgets. Although the deprecated widgets will still work with PHP-GTK, you will receive a warning that urges you to use the new replacement widget instead. </ul> <a name="more"></a> <h2>More</h2> <p> We've covered these differences in more detail in the 'Changes since PHP-GTK 1' tutorial. Do have a look at that to make your transition from PHP-GTK 1 to 2 easier. The documentation is an invaluable resource, and of course the mailing lists are always there to help you out in troublesome situations. Hope you enjoy using PHP-GTK 2 as much as we enjoyed making it! </p> <?php commonFooter(); ?> __________ NOD32 1.1380 (20060125) Information __________ This message was checked by NOD32 antivirus system. http://www.eset.com--------------------------------------------------------------------------------
-- PHP-GTK Development Mailing List (http://gtk.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php __________ NOD32 1.1380 (20060125) Information __________ This message was checked by NOD32 antivirus system. http://www.eset.com