about.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. /*
  3. * $Id: about.php,v 1.1 2006/07/15 18:16:08 andrei Exp $
  4. */
  5. require_once('include/prepend.php');
  6. commonHeader('About PHP-GTK 2');
  7. ?>
  8. <h1>PHP-GTK 2</h1>
  9. <p>
  10. PHP-GTK is an extension for the PHP programming language that implements
  11. language bindings for GTK+. It provides an object-oriented interface to GTK+
  12. classes and functions and greatly simplifies writing client-side cross-platform
  13. GUI applications.
  14. </p>
  15. <p>
  16. PHP-GTK 2 is the second major release of PHP-GTK. PHP-GTK 2 combines the power
  17. of PHP 5 with the flexibility of Gtk+ 2 to allow developers to create extremely
  18. rich desktop applications with relative ease. PHP-GTK 2 not only
  19. simplifies the process of building applications with PHP, but also
  20. provides greater flexibility and more features than its predecessor.
  21. </p>
  22. <a name="features"></a>
  23. <h2>Features</h2>
  24. <ul>
  25. <li><b>Powerful Object Oriented Programming</b><br />
  26. Because PHP-GTK 2 is built ontop of PHP 5, it makes heavy use of the improved
  27. object model. PHP-GTK 2 applications can implement Object Oriented practices
  28. such as inheritance, interfaces, overloading and exceptions.
  29. </li>
  30. <li><b>Improved Garbage Collection</b><br />
  31. PHP-GTK 1 suffered from memory allocation issue because it was built ontop of
  32. PHP 4, which was not designed with long running applications in mind.
  33. Improvements in PHP 5 have minimized memory leaks allowing for long running
  34. applications without the fear of excessive memory consumption.
  35. </li>
  36. <li><b>Unicode Support</b><br />
  37. Text in PHP-GTK 2 is always UTF-8 encoded making for applications which can
  38. easily be internationalized. PHP-GTK 2 will seamlessly handle conversion of
  39. input and output strings based on a global code-page setting freeing the
  40. developer from worrying about most encoding problems.
  41. </li>
  42. <li><b>Model-View Architecture</b><br />
  43. Gtk+ 2 implements a Model-View architecture to separate data from the display.
  44. This allows for multiple representations of the same data in different ways and
  45. greater control over the data itself. The separation of data from display makes
  46. working with complex data like trees and multi-line text much easier than
  47. before.
  48. </li>
  49. <li><b>Improved Graphics Support</b><br />
  50. Improvements in image support in Gtk+ 2 make displaying and manipulating images
  51. and animations much easier with PHP-GTK 2. Aside from an extensive collection
  52. of stock images, loading and manipulating custom images is relatively simple
  53. when compared to working with images in PHP-GTK 1.
  54. </li>
  55. </ul>
  56. <a name="changed"></a>
  57. <h2>Changes</h2>
  58. <p>
  59. While every attempt has been made to preserve backward compatibility whereever
  60. possible, some backward compatibility breaks were necessary.
  61. </p>
  62. <ul>
  63. <li><b>Exceptions</b><br />
  64. PHP-GTK 2 takes advantage of PHP 5's support for exceptions. Several widgets
  65. may throw exceptions, normally during construction or when trying to convert
  66. text to UTF-8.
  67. </li>
  68. <li><b>No More Global Constants</b><br />
  69. In PHP-GTK 1, all constants were declared in the global namespace. In PHP-GTK
  70. 2, constants are declared in the top-level classes: Gtk, Gdk, Atk, and Pango.
  71. This means the PHP-GTK 1 constant
  72. <pre style="display: inline;">GTK_WIN_POS_CENTER</pre> is accessed as
  73. <pre style="display: inline;">Gtk::WIN_POS_CENTER</pre> in PHP-GTK 2.
  74. </li>
  75. <li><b>Creating Signal Handlers</b><br />
  76. The <pre style="display: inline;">connect_object()</pre> and
  77. <pre style="display: inline;">connect_object_after()</pre> methods
  78. have been deprecated in favor of
  79. <pre style="display: inline;">connect_simple()</pre> and
  80. <pre style="display: inline;">connect_simple_after()</pre>.
  81. </li>
  82. <li><b>Deprecated Widgets</b><br />
  83. Many widgets have been deprecated in Gtk+ 2, and therefore are also deprecated
  84. in PHP-GTK 2. Most deprecated widgets have been replaced with more powerful
  85. widgets that are easier to use. While most deprecated widgets will still
  86. function as they did with PHP-GTK 1, developers are strongly encouraged to
  87. update their applications to use the new and improved versions.
  88. </li>
  89. </ul>
  90. <a name="more"></a>
  91. <h2>More</h2>
  92. <p>
  93. These changes and more are covered in greater detail in the <a href="http://gtk.php.net/manual/en/tutorials.changes.php">Changes since PHP-GTK 1</a> tutorial. Users looking for help with the new release are
  94. encouraged to read the PHP-GTK 2 manual or contact the PHP-GTK General mailing list.
  95. </p>
  96. <?php
  97. commonFooter();
  98. ?>