Interoperability with PHP
Currently, Scala.php allows running native PHP code from Scala, but not the other way around.
In order to call a PHP-defined function, you have to know its signature. For example, explode
:
explode(string $separator, string $string, int $limit = PHP_INT_MAX): array
For the example's sake, let's assume we're only interested in providing the first two parameters.
The Scala signature you have to define would be:
import org.scalaphp.php
@php.native
def explode(
separator: String,
string: String,
): Array[String] = php.native
warning
Currently, PHP 8's named arguments aren't supported. Scala's named parameters still work - just make sure to match the order of arguments when defining the signature!
Having defined the signature, we can call the function:
explode(string = "foo bar", separator = " ") // Array("foo", "bar")