php.java.script.servlet
Class PhpServletLocalScriptEngine

java.lang.Object
  extended by javax.script.AbstractScriptEngine
      extended by php.java.script.SimplePhpScriptEngine
          extended by php.java.script.PhpScriptEngine
              extended by php.java.script.servlet.PhpServletLocalHttpServerScriptEngine
                  extended by php.java.script.servlet.PhpServletLocalScriptEngine
All Implemented Interfaces:
ScriptEngine
Direct Known Subclasses:
PhpServletScriptEngine

 class PhpServletLocalScriptEngine
extends PhpServletLocalHttpServerScriptEngine

A PHP script engine for Servlets. See ContextLoaderListener for details. In order to evaluate PHP methods follow these steps:

  1. 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);
    }
  2. Acquire a PHP script engine from the EngineFactory:
    ScriptEngine scriptEngine = EngineFactory.getPhpScriptEngine(this, ctx, req, res);
  3. Create a FileReader for the created script file:
    Reader readerHello = EngineFactory.createPhpScriptFileReader(getHelloScript());
  4. Connect its output:
    scriptEngine.getContext().setWriter (out);
  5. Evaluate the engine:
    scriptEngine.eval(readerHello);
  6. Close the reader:
    readerHello.close();


Field Summary
 
Fields inherited from class php.java.script.servlet.PhpServletLocalHttpServerScriptEngine
overrideHosts, req, res, scriptContext, servlet, servletCtx, webPath
 
Fields inherited from class php.java.script.SimplePhpScriptEngine
continuation, ctx, env, name, processEnvironment, resultProxy, script, scriptClosure
 
Fields inherited from interface javax.script.ScriptEngine
ARGV, ENGINE, ENGINE_VERSION, FILENAME, LANGUAGE, LANGUAGE_VERSION, NAME
 
Constructor Summary
PhpServletLocalScriptEngine(javax.servlet.Servlet servlet, javax.servlet.ServletContext ctx, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res, java.lang.String protocol, int port)
           
 
Method Summary
protected  void releaseReservedContinuation()
           
protected  void reserveContinuation()
           
 
Methods inherited from class php.java.script.servlet.PhpServletLocalHttpServerScriptEngine
eval, getPhpScriptContext, getURL, setNewContextFactory, setStandardEnvironmentValues, setStandardEnvironmentValues
 
Methods inherited from class php.java.script.SimplePhpScriptEngine
close, createBindings, doEval, eval, eval, getContinuation, getFactory, initialize, release, setName, setStandardEnvironmentValues
 
Methods inherited from class javax.script.AbstractScriptEngine
eval, eval, eval, eval, get, getBindings, getContext, getScriptContext, put, setBindings, setContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PhpServletLocalScriptEngine

public PhpServletLocalScriptEngine(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
Method Detail

releaseReservedContinuation

protected void releaseReservedContinuation()
Overrides:
releaseReservedContinuation in class PhpServletLocalHttpServerScriptEngine

reserveContinuation

protected void reserveContinuation()
                            throws ScriptException
Overrides:
reserveContinuation in class PhpServletLocalHttpServerScriptEngine
Throws:
ScriptException