php.java.script.servlet
Class PhpServletScriptEngine
java.lang.Object
javax.script.AbstractScriptEngine
php.java.script.SimplePhpScriptEngine
php.java.script.PhpScriptEngine
php.java.script.servlet.PhpServletScriptEngine
- All Implemented Interfaces:
- java.io.Closeable, ScriptEngine
public final class PhpServletScriptEngine
- extends PhpScriptEngine
A PHP script engine for Servlets. See ContextLoaderListener for details.
In order to evaluate PHP methods follow these steps:
- Create a factory which creates a PHP script file from a reader using the methods from
EngineFactory:
private static File script;
private static final File getHelloScript() {
if (script!=null) return script;
String webCacheDir = ctx.getRealPath(req.getServletPath());
Reader reader = new StringReader ("<?php echo 'hello from PHP'; ?>");
return EngineFactory.getPhpScript(webCacheDir, reader);
}
- Acquire a PHP script engine from the
EngineFactory:
ScriptEngine scriptEngine = EngineFactory.getPhpScriptEngine(this, ctx, req, res);
- Create a FileReader for the created script file:
Reader readerHello = EngineFactory.createPhpScriptFileReader(getHelloScript());
- Connect its output:
scriptEngine.getContext().setWriter (out);
- Evaluate the engine:
scriptEngine.eval(readerHello);
- Close the reader:
readerHello.close();
Alternatively one may use the following "quick and dirty" code which creates a new PHP script for
each eval:
ScriptEngine e = EngineFactory.getPhpScriptEngine(this, ctx, req, res);
e.getContext().setWriter (out);
e.eval("<?php echo "hello java world"; ?>");
|
Constructor Summary |
PhpServletScriptEngine(javax.servlet.Servlet servlet,
javax.servlet.ServletContext ctx,
javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res,
java.lang.String protocol,
int port)
|
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PhpServletScriptEngine
public PhpServletScriptEngine(javax.servlet.Servlet servlet,
javax.servlet.ServletContext ctx,
javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res,
java.lang.String protocol,
int port)
throws java.net.MalformedURLException
- Throws:
java.net.MalformedURLException