Files
luos/tests/resources/ContentPHPSourceCode.txt

275 lines
4.8 KiB
Plaintext

<?php
declare(strict_types=1);
namespace ExampleNamespace;
use Some\Classes\{
ClassA,
ClassB,
ClassC as C
};
/**
* Test
*/
class Example implements Iface1, Iface2, Iface3
{
#[A1("param")]
private ClassA|ClassB|null $unionType;
/**
* Test
* @var ClassA&ClassB
*/
private ClassA&ClassB $intersectionType;
/**
* Test
* @param type $a
* @param type $b
*/
public function ifExample($a, $b)
{
if (convert($a) > $b) {
echo "a is bigger than b";
} elseif ($a == $b) {
echo $a . " is equal to " . $b[0];
} else {
$result = getText($this->property1, $this->property2);
}
$result = $a < $b ? $a : $b;
}
/**
* test
*/
public function forExample()
{
for ($i = 1; $i <= 10; $i++) {
echo 'Item: ';
echo $i;
}
}
/**
* Test
*/
public function foreachEample()
{
$arr = array(1, 2, 3, 4, "b" => 5, "a" => 6);
foreach ($arr as &$value) {
$value = (int) $value * 2;
}
}
/**
* Test
*/
public function whileExample()
{
$i = 1;
while ($i <= 10) {
echo $i++;
}
}
/**
* Test
* @param type $i
*/
public function doWhileExample($i)
{
do {
echo $i--;
} while ($i > 0);
}
/**
* Test
*/
public function switchExample()
{
switch ($i) {
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
}
}
/**
* Test
*/
public function matchExample()
{
$result = match ($i) {
1, 2, 3 => "1, 2, or 3",
4, 5, => "4 or 5",
default => $this->getDefaultValue(),
};
}
/**
* Test
* @return int
*/
public function getDefaultValue(): int
{
return 10;
}
/**
* Test
*/
public function tryExample()
{
try {
echo inverse(5) . "\n";
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage() . "\n";
} finally {
echo "Finally block";
}
}
/**
* Test
* @param type $arg
* @return \ExampleNamespace\#anon#ContentPHPSourceCode_php#1
*/
public function anonymousClassExample($arg)
{
$instance = new class($arg) extends Anonymous
{
public function __construct($arg)
{
}
public function anon()
{
echo "anonymous";
}
};
return $instance;
}
/**
* Test
* @param type $arg1
* @param type $arg2
* @param type $arg3
* @param type $arg4
* @param type $arg5
*/
public function alignParamsExample($arg1, $arg2, $arg3, $arg4, $arg5)
{
}
/**
* Test
* @param Class1|Class2|null $object
* @return int|float|null
*/
public function unionTypesExample(Class1|Class2|null $object): int|float|null
{
return null;
}
/**
* Test
* @param ClassA&ClassB $object
* @return ClassA&ClassB
*/
public function intersectionTypesExample(ClassA&ClassB $object): ClassA&ClassB
{
return $object;
}
/**
* Test
* @param object $object
*/
public function nullsafeOperatorExample(object $object)
{
$object?->nullsafe();
}
}
enum EnumExample: string
{
case FOO = 'F';
case BAR = 'B';
public function example(): string
{
return match ($this) {
static::FOO => 'Foo',
static::BAR => 'Bar',
};
}
}
$anonymousFunc = function ($arg) use ($param): int {
return 1;
};
// Wrapping: Method Call Arguments must be set
(new Example())->alignParamsExample('one', 'two', 'three', 'four', 'five');
/**
* Test
* @param type $a
* @param type $b
*/
function namedArguments($a, $b)
{
}
/**
* ProcessMaker has made a number of its PHP functions available be used in triggers and conditions.
* Most of these functions are wrappers for internal functions used in Gulliver, which is the development framework
* used by ProcessMaker.
* @class pmFunctions
*
* @name ProcessMaker Functions
* @icon /images/pm.gif
* @className class.pmFunctions.php
*/
/**
* @method
*
* Create a new user
*
* @name PMFNewUser
* @label PMF New User
*
* @param string | $test
*
* @return array | $response | Response
*/
function testAnnotation($test){
return [];
}
namedArguments(a: 1, b: 2);
$shortName = 10;
$veryLooongName = 20;
$data = [
'short_key' => 10,
'very_looong_key' => 100,
];