<?php
declare(strict_types=1);


// Line comment.

/*
 * Multiple
 * lines
 * comment.
 */

$var  =  1  +  2  *  3  /  4  %  5  **  6;


/**
 * Some PHPDoc comment.
 *
 * @param          $param1
 * @param string   $param2
 * @param int|null $param3
 * @param int      $param5
 * @param array    ...$param4
 */
function  func  (  $param1  ,  string  $param2  ,  ?int  $param3  ,  $param5 = 5  ,  array  ...$param4)  :  void  {
 $param1;
  $param2;
	$param3;
		$param4;
		
	{
		$param5;
	}
}


/**
 * Interface Intf.
 */
interface Intf {
	
	public	function	foo	(	string	$bar = 'baz'	)	:	string	;
	
}


/**
 * Trait Trt.
 */
trait	Trt	{
	protected	$foo	=	'';
	
	
}


/**
 * Class Acls.
 */
abstract class Acls {
	
	public function __toString(): string {
		return __CLASS__;
	}
}


/**
 * Class Cls.
 */
class Cls
extends Acls
implements Intf
{
	use Trt;
	
	
	/**
	 * @inheritdoc
	 */
	public function foo(string $bar = 'baz'): string {
		return $this->foo .= $bar;
	}
}


 for (  $x  =  1  ;  $x  <=  5  ;  $x  +=  1)  {
 	           $x;
 }
 
$x = 5;
while  (  $x  -=  1  )  {
	$x;
}