[KDE Dot News]
 faq
 flatforty
 contribute
 subscribe
 configure
 search
 rdf

 main
 parent


PhpQT / PhpKDE
by Jaxn on Monday 20/Sep/2004, @13:51
I would really love to see PHP bindings. Especially now that PHP5 is stable.

I know the first response will be that I should write one. I would love too, I just can't find any docs for Smoke (I think that is the preferred kde bindings method).

-Jackson
  Related Links
 ·   Articles on Developer
 ·   Also by Jaxn
 ·   Contact author

Thread Threshold:

The Fine Print: The following comments are owned by whomever posted them.
( Reply )

Re: PhpQT / PhpKDE
by Corbin on Monday 20/Sep/2004, @14:25
I would like to see that too. Though I haven't even heard of smoke, so obviously your ahead of me!

I need to try out PHP5 some time...
[ Reply To This | View ]
Re: PhpQT / PhpKDE
by Richard Dale on Monday 20/Sep/2004, @15:26
I keep meaning to try and write up some Smoke documentation. When I started on the ruby bindings last year I used a paper by Germain Garand which he posted on the kdebindings mailing list. I haven't been able to find it since, and keep meaning to ask Germain to possibly check it into the kdebindings cvs.

How much man effort is involved in implementing a new language binding? I would say say about 6 man months at the minimum. I've been working on the ruby bindings for over a year - I started in July 2003, and it's taken me until about now to announce the first release. I've done some other work on java and C# bindings, but really most of the last year has been spent working fulltime on getting Smoke working with the KDE classes, and implementing the ruby bindings. You can't really do a language binding in your spare time. Compare and contrast the ruby-gnome project - they have 16 or 17 developers. But their approach depends on splitting up the work, and hand crafting the bindings for each class - I call that the 'knitting circle' approach. Each developer doesn't need to be that skilled, and they can do it in their spare time.

For KDE 3.4 the Smoke library needs to be more modular, and broken up so that it is easy to implement plugin apis for the various KDE projects - kontact, kmail, kate and kdevelop for instance. The Amazing Lypanov suggested a way to do this at aKademy, and I've had some discussion since with Joseph Wenninger of the kate project, so I'm happy it can be done and put on the 3.4 release plan.

I used to think that KDE should have as many language bindings as possible, but I'm no longer sure if that's a good idea. I now think we have to focus on perl, python, ruby, java and C# and basically ignore everything else. If someone wants to give up six months and work on php bindings, then fine, but otherwise it won't happen. It takes much more effort to learn the Qt/KDE api than it does to learn the syntax of a language like php. So if you're a php programmer with server side experience, it's easier to learn ruby while you're learning the Qt/KDE api.
[ Reply To This | View ]
  • Re: PhpQT / PhpKDE, KConfigDialog
    by Ian Monroe on Monday 20/Sep/2004, @22:48
    I kinda like using PHP for shell scripting, cause its syntax is so easy. I wouldn't mind some PHP KDE/Qt bindings mostly for such small jobs. Granted, I'd rather have the Ruby KDE/Qt bindings, I haven't played around with them for several months its good to see there's been plenty of progress.
    [ Reply To This | View ]
  • Re: PhpQT / PhpKDE
    by markc on Tuesday 21/Sep/2004, @10:12
    "focus on perl, python, ruby, java and C# and basically ignore everything else" but that leaves out the one scripting language that is arguably more popular than any of the ones just listed. For all the individual worth of the various languages mentioned, I'd put money on PHP being the more approachable, therefor generally usable, language for desktop fiddling by the masses. Perhaps I am biased and when I say "the masses" I really mean me but I really do suspect that if a PHP + Qt/KDE gui building app was available it would see more and faster desktop trinket innovation than from any other language.

    With Qt4 beta SDKs available and the release of PHP5, now would be a good time to put some effort into some PhpQT / PhpKDE project. Anyone seriously interested ?
    [ Reply To This | View ]
    • Re: PhpQT / PhpKDE
      by Roberto Alsina on Tuesday 21/Sep/2004, @12:09
      I am sure you gonna find someone. However, after spending a few months trying to fix OTPC[1] I can tell you: a 15KLOC app in PHP is going to be an amazing feat. Not pretty, but amazing.



      [1] Other people's perl/php code
      [ Reply To This | View ]
  • Re: PhpQT / PhpKDE
    by Jaxn on Wednesday 22/Sep/2004, @06:45
    Like I said before, I am ready and willing to do PHP bindings.

    I will make you a deal Richard...

    You get that smoke documentation done and I will do PHP bindings (with the help of friends like Marcus Whitney).

    -Jackson
    [ Reply To This | View ]
    • Re: PhpQT / PhpKDE
      by Richard Dale on Wednesday 22/Sep/2004, @08:20
      Yes I certainly don't want to discourage anyone, only point out it's quite a lot of work. I've just emailed Germain Garand about some Smoke notes he had, and he's sent them to me, so I'll try and get it written up and put in the kdebindings cvs and on the KDE Developer's Corner site. I've been meaning try and get Smoke written up better for a while.

      You can subscribe to the kde-bindings@kde.org mailing list and ask bindings questions there. To use Smoke with PHP, it will need to have some sort of 'catch-all' function which is called if a particular method can't be found. In ruby that's 'method_missing' and in perl it's 'autoload'. So you catch method calls there, and then forward them onto Smoke.

      class MyClass

      def method_missing(methId)
      puts "can't find method: #{methId.id2name}"
      end

      end

      obj = MyClass.new
      obj.foobar -> can't find method: foobar
      obj.baz -> can't find method: baz

      I don't know if that makes sense - you can call any old method on obj, and it will be trapped by method_missing, and print an error message in this case. The first step is to try and do something similar in PHP..
      [ Reply To This | View ]
      • Re: PhpQT / PhpKDE
        by Marcus Whitney on Monday 27/Sep/2004, @07:38
        http://us2.php.net/manual/en/language.oop5.overloading.php

        Note the __call magic method that does exactly what you are describing. We're ready :)
        [ Reply To This | View ]
        • Re: PhpQT / PhpKDE
          by markc on Thursday 13/Jan/2005, @05:52
          So it's early 2005 and I am wondering if there has been any progress realizing a php-qt application anywhere on the planet ?

          Better still php-kde. I just did a google search and this is one of the few pages that came up :-) I guess I can always try again in 2006.
          [ Reply To This | View ]
          • Re: PhpQT / PhpKDE
            by Jackson on Wednesday 21/Dec/2005, @00:59
            I did some work on it and got some of the Smoke stuff working, but then had to put it aside for other stuff (i.e. stuff that feeds my family).

            It would be cool though.
            [ Reply To This | View ]
          • Re: PhpQT / PhpKDE
            by markc on Wednesday 13/Jun/2007, @06:04
            Well Well, half way thru 2007 and still no sign of a PhpKDE. There is a php-qt project that has been picked up, although there is still no viable release that I am aware of, and it is still not a PhpKDE.

            Anyone heard of anything out there somewhere, particularly based on KDE4 ?
            [ Reply To This | View ]

 
The Fine Print: The previous comments are owned by whomever posted them.
( Reply )

  "If there is smoke, there could be a fire." -- Konqi
KDE®, "K Desktop Environment", "KDE Dot News", "got the dot?" and the KDE Logo® are trademarks or registered trademarks of KDE e.V. in the European Union, the United States and other countries. All other trademarks and copyrights on this page are owned by their respective owners. Comments are owned by the poster. The rest: Copyright © 2000-2008 KDE e.V. for The KDE Project. For further information or comments on this site, please contact the Webmaster.
[ home | post article | flat forty | subscribe | search | rdf ]