need advice on building core code for python and PHP
Graham Dumpleton
Graham.Dumpleton at gmail.com
Wed May 30 01:46:18 EDT 2007
On May 30, 11:24 am, digimotif <digimo... at gmail.com> wrote:
> On May 24, 5:01 pm, Graham Dumpleton <Graham.Dumple... at gmail.com>
> wrote:
>
>
>
> > On May 25, 5:24 am, aspineux <aspin... at gmail.com> wrote:
>
> > > On 24 mai, 19:33, Szabolcs Nagy <nszabo... at gmail.com> wrote:
>
> > > > > Is there a way I could code the base (core) code in Python and have
> > > > > PHP call it? I've really liked using SQLAlchemy and there are other
>
> > > > * quick and dirty solution:
> > > > in a shell:
> > > > $ python yourscript.py <pipe_in >pipe_out
> > > > in the php script:
> > > > fwrite(pipe_in, input_data);
> > > > results = fread(pipe_out, sizeof_results);
>
> > > > * simple and nice solution:
> > > > do not ever use php
>
> > > Write a CGI wrapper around your python script, and publish it usingmod_python.
> > > And make the appropriate http requests from PHP.
>
> > You do not needmod_pythonto host CGI scripts written in Python, they
> > are two separate things.
>
> > Depending on the complexity of what you are doing, you might be better
> > off writing a backend server in Python that incorporates an XML-RPC
> > server. Your PHP script can then use XML-RPC client to communicate to
> > the backend Python server to do the real work. Over time you could
> > even transition your web pages to being done in Python instead. In
> > doing this your back end Python server doesn't have to change, you
> > just make XML-RPC calls from the Python code for the web pages in
> > place of where you would be doing it with PHP initially. You also
> > wouldn't be restricted to web based front ends, you could also use GUI
> > based front end as well.
>
> > Graham
>
> This sounds more like the direction I should go. Is XML-RPC the only
> technology allowing this sort of setup? If I understand correctly, it
> would basically mean going to a three tiered application approach.
> I'd have the database, the python xml-rpc server, and the gui/web
> interfaces. I'd also want to make sure I'm implementing technology
> that will scale well.
There is also Pyro, but by using that you limit yourself to Python
clients as far as I know whereas XML-RPC has clients for lots of
different languages. Other more complicated options are Corba and SOAP
frameworks.
Graham
More information about the Python-list
mailing list