[Xapian-devel] GSoC: PHP bindings

Olly Betts olly at survex.com
Wed Apr 4 04:29:17 BST 2012

On Tue, Apr 03, 2012 at 02:12:56PM +0200, riadh chtara wrote:
>  I will take you comment suggestion about timing in consideration.
> What do you thing about this Schedule?
>    1. April 30 ? May 20 : Checking the Coding guidelines, Installing
>    development environment, Reading and understanding deeply the source
>     SWIG   and  wrapped API , Discussing with mentors about the final
>    details of the project
>    2. May 21 ? May 29: Defining the changes needed in  SWIG
>    3. May 28 - July 13:   adding new function to SWIG

You need much more detail here - that's 6 weeks with a really vague one
phrase description.  In mid-June, how can we tell you are doing?  Even
on July 13th, how can we tell how you are doing?

>    4. JULY 13
>    5. MID TERM EVALUATION Dead line
>    6. July 13 ?July 22:  adding new function to SWIG, Testing SWIG,
>    Writing the documentation for SWIGo

I think you need to investigate how SWIG's PHP backend currently
works, and think about what you would change about that to make
the change from defining the PHP classes in a generated PHP wrapper
script to doing this in the generated C++ wrapper code using PHP's
Zend API.  And what a logical order to tackle these changes would

SWIG already has an extensive testsuite, which I think all currently
passes for PHP - certainly most of it does.  So you have a natural
measure of progress here - how much of SWIG's testsuite passes with your
changes to the SWIG PHP backend?

>    7. July 23 ? August 15: Improving the xapian php api
>    8. August 16-August 20: Testing the new version of the xapian
>    api, Writing the documentation for it

Much too vague, and you really want to implement, test, and document
each improvement in turn.

> For the mid term evaluation do I need to make a deliverable?

Ideally the project should provide a series of deliverables, not
just one in the middle and one at the end.

On Wed, Apr 04, 2012 at 12:37:55AM +0200, riadh chtara wrote:
> I have an approach for handling php with swig.
> Swig needs to act like this when we use it for php
>    -  first it analyses the code
>    -  then it inserts the zend api instuctions into the code
>    - finally it generates and compiles  the zend extensions
> What do you think?
> I that couldn't work , please tell me how could I make that.

You really need to make this fit with how SWIG already works, so trying
to think about how to implement this without having looked at that is
rather futile.


More information about the Xapian-devel mailing list