PHP code example of kambo / karsk
1. Go to this page and download the library: Download kambo/karsk library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
kambo / karsk example snippets
use Kambo\Karsk\ClassWriter;
use Kambo\Karsk\Opcodes;
$cw = new ClassWriter(0);
$cw->visit(
Opcodes::V1_8,
Opcodes::ACC_PUBLIC,
"Helloworld",
null,
"java/lang/Object",
null
);
$mw = $cw->visitMethod(Opcodes::ACC_PUBLIC, "<init>", "()V", null, null);
$mw->visitVarInsn(Opcodes::ALOAD, 0);
$mw->visitMethodInsn(Opcodes::INVOKESPECIAL, "java/lang/Object", "<init>", "()V", false);
$mw->visitInsn(Opcodes::RETURN_);
$mw->visitMaxs(1, 1);
$mw->visitEnd();
$mainMethod = $cw->visitMethod(
(Opcodes::ACC_PUBLIC + Opcodes::ACC_STATIC),
"main",
"([Ljava/lang/String;)V",
null,
null
);
$mainMethod->visitFieldInsn(Opcodes::GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;");
$mainMethod->visitLdcInsn("Hello world!");
$mainMethod->visitMethodInsn(
Opcodes::INVOKEVIRTUAL,
"java/io/PrintStream",
"println",
"(Ljava/lang/String;)V",
false
);
$mainMethod->visitInsn(Opcodes::RETURN_);
$mainMethod->visitMaxs(2, 2);
$mainMethod->visitEnd();
$code = $cw->toByteArray();