PHP hello world module (jar version)
From Resin 3.0
Contents |
Introduction
One of the advantages of using Resin's implementation of PHP is that you can create your own library of functions written in Java and access them from within PHP. The following article provides a brief tutorial on how to do this.
The article assumes that you have already properly installed Resin on your computer. Please see the related article PHP Hello World for more information on installing Resin for the first time.
Step 1: Create Example.jar and place it in the appropriate directory
Create your development environment
The steps that follow assume you are working in a Windows environment. If you are working within Unix (or Linux or Mac), the same steps will work. Just be sure to modify the commands where necessary.
c:\Documents and Settings\Charles >cd c:\ c:\> md sandbox c:\sandbox> md src c:\sandbox> md classes c:\sandbox> cd src c:\sandbox\src> md Example c:\sandbox\src> md META-INF c:\sandbox\src> cd META-INF c:\sandbox\src\META-INF> md services
Create HelloWorldSampleClass.java
Copy the following file into your favorite text editor (notepad will do) and save it to the c:\sandbox\src\Example directory.
HelloWorldSampleClass.java
package Example; import com.caucho.php.module.AbstractPhpModule; import com.caucho.php.env.StringValue; public class HelloWorldSampleClass extends AbstractPhpModule { public StringValue say_hello(String name) { return new StringValue("Hello, " + name); } }
Create com.caucho.php.PhpModule
Copy the following one line file and save it to the c:\sandbox\src\META-INF\services directory. Make sure that the file name is exactly "com.caucho.php.PhpModule"
com.caucho.php.PhpModule
Example.HelloWorldSampleClass
Compile and Jar the files
Navigate to c:\sandbox
C:\sandbox>javac -d classes -classpath c:\resin-3.0.13\lib\php.jar src\Example\*.java
Note: In my installation of Resin, the file httpd.exe is located in c:\resin-3.0.13. If you have installed Resin in a different directory change the above classpath appropriately.
Copy Example.jar to your working resin directory
Step 2: Create and browse the PHP page
javahello.php
<?php $name = say_hello("Charles"); echo $name; ?>
Conclusion
Enjoy