for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace League\Plates\Extension\Data;
use League\Plates\Template;
class ResolveDataArgs
{
public $data;
private $template;
public function __construct(array $data, Template $template) {
$this->data = $data;
$this->template = $template;
}
public function withData(array $data) {
return new self($data, $this->template);
public function withAddedData(array $data) {
return new self(array_merge($this->data, $data), $this->context);
context
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
class MyClass { } $x = new MyClass(); $x->foo = true;
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:
class MyClass { public $foo; } $x = new MyClass(); $x->foo = true;
public static function fromTemplate(Template $template) {
return new self($template->data, $template);
public function getTemplate() {
return $this->template;
public function getContext() {
return $this->template->context;
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: