JavaArchive
PHPJava\Core\JavaArchive
Introduction
JavaArchive class is provided APIs for executing .jar file.
How to use
For an example as follows:
- Write Java:
class HelloWorld { public static void main(String[] args) { System.out.println(args[0]); } }
- Compile classes to an archive.
$ javac -encoding UTF8 -d build src/*
$ cd build && jar -cvfe ../Test.jar Test *
- Write PHPJava:
<?php use PHPJava\Core\JavaArchive; // You must pass parameters to entrypoint within the `execute` method. // The `execute` method haven't default parameters. (new JavaArchive('Test.jar')) ->execute(["Hello World!"]); // or (new JavaArchive('Test.jar')) // Specify Test.class on JavaArchive ->getClassByName('Test') ->getInvoker() ->getStatic() ->getMethods() ->call( 'main', ["Hello World!"] );
You'll get a result Hello World!
Provided methods
Name
public function __construct(string $jarFile, array $options = [])
Introduction
Initiate a Java Archive class.
Parameters
| Name | Type | Description |
|---|---|---|
| $jarFile | string | Specify file path. |
| $options | array | Set JavArchive/JavaClass runtime options. |
Name
public function __destruct()
Introduction
Initiated Java Archive destruction.
Parameters
No parameters.
Name
public function execute(...$arguments)
Introduction
Execute entrypoint class from initiated Java Archive.
Parameters
| Name | Type | Description |
|---|---|---|
| ...$arguments | ...mixed | Pass anything parameters to entrypoint class. |
Name
public function __debugInfo()
Introduction
For dump java archive information.
Parameters
No parameters.
Name
public function getVersion(): ?string
Introduction
Get a Java archive version.
Parameters
No parameters.
Name
public function getCreatedBy(): ?string
Introduction
Get a Java archive creator name.
Parameters
No parameters.
Name
public function getEntryPointName(): ?string
Introduction
Get a entrypoint class name.
Parameters
No parameters.
Name
public function getClassPaths(): array
Introduction
Get defined class paths in manifest.
Parameters
No parameters.
Name
public function getClasses(): array
Introduction
Return are included Java classes in Java Archive.
Parameters
No parameters.
Name
public function getClassByName(string $name): JavaClassInterface
Introduction
To get initiated class from JavaArchive. This method can be manipulate loaded classes.
Parameters
| Name | Type | Description |
|---|---|---|
| $name | string | Specify class name. |