--- Marc Richards <[EMAIL PROTECTED]> wrote:
> Hi,
> 
> I am looking for any info or documentation on using PHP in a servlet
> environment.  I read what I could find on php.net, and found a couple things
> using google, but not enough to answer my questions.  If someone could tell
> me where to look that would be great.  I am very interested in seing PHP
> more tightly integrated with J2EE as I think that it would add the
> reliabilty and scalability of the J2EE platform to the ease of use of PHP,
> and allow a smooth transition for the existing PHP user base, who need to do
> things with Java.
> 
> These are the type of questions I have right now:
> 
> 1) Is this a pure Java version of PHP?
 No. And why would there be ;)

> 2) What functionality is available? (only core functions?  Some extention
> libraries)
 There are 2 things you can do with ext/java
 1) create instances of java objects thru the php's java class, You should have
access of all the methods available for that object
ex.
$java = new Java("java.util.Hashtable");
$java->put("Key", "Value");
echo $java->toString();

 2) php will run as a servlet engine, meaning you can run php scripts inside
Tomcat. This is done all thru native methods.

> 3) How does it all work? (pass thru mechanism? are pages compiled as
> classes?)

 Pages are not compiled as classes they still exists as php scripts.

> 4) Does this make it eiasier to access Java servlets or EJBs? Does it
> increse performance?

 Well not sure exactly what you mean by accessing java servlets, You can
"access" a java servlet by simply
file("http://someserver.com/servlet/SomeJava.jsp?param=go";); That would make
the servelet execute but I might not know what you mean by access. I guess if
you wanted to you could use the Java() class to create an instance of a servlet
class and invoke its methods directly.

Accessing a EJB from a php script should be fine, (this is purely theory never
tried it or even fully thought it thru). If you take the steps that you would
to create a refrence of an EJB from java and replicate it using ext/java it
should work.
Here is a quick example from OpenEJB HelloWorld example

http://openejb.sourceforge.net/hello-world.html
<?
    $p = new Java("java.utils.Properties");
    
    //The JNDI properties you set depend
    //on which server you are using.
    $p->put("java.naming.factory.initial", "org.openejb.client.JNDIContext");
    $p->put("java.naming.provide.url", "127.0.0.1:4201");
    $p->put("java.naming.security.principal", "myuser");
    $p->put("java.naming.security.credentials", "mypass");

    
    //Now use those properties to create
    //a JNDI InitialContext with the server.
    $ctx = new Java("javax.naming.InitialContext", $p );
    
    //Lookup the bean using it's deployment id
    $obj = $ctx->lookup("/Hello");
    
    //Be good and use RMI remote object narrowing
    //as required by the EJB specification.

    //********** This may not work with ext/java extension ***************
    $pro = new Java("javax.rmi.PortableRemoteObject");
    $helloHome = new Java("HelloHome");
    $ejbHome = $pro->narrow( $obj, $helloHome->class);
    //********** This may not work with ext/java extension ***************

    //Use the HelloHome to create a HelloObject
    $ejbObject = $ejbHome->create();
    
    //The part we've all been wainting for...
    $message = $ejbObject->sayHello();

    //A drum roll please.
    echo $message;
?>

 So except for the static access to "class" from helloHome It should work.
Maybe if I get borred some time i'll try it.

> 5) Who is responsible for development of this extension?

 Sam Ruby was the orig developer. I've played with it. I don't think anyone has
done any new development in awhile.

> 6) When do you expect a non experimental version will be available

 When more intrest becomes of it and someone wants to claim any new
development.


 - Brad


__________________________________________________
Do you Yahoo!?
Y! Web Hosting - Let the expert host your web site
http://webhosting.yahoo.com/

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to