Předání proměnných z presenteru do Latte\Engine

Kajda23
Člen | 41
+
0
-

Ahoj,
aktualizoval jsem z 3.0, kde vše jelo, na 3.1 a dostal jsem chybu:

Argument 2 passed to Latte\Engine::render() must be of the type array, object given, called in …\nette\application\src\Bridges\ApplicationLatte\Template.php on line 46

V Nette\Bridges\ApplicationLatte\Template::render se do $this->latte->render (tedy do Latte\Engine) posílá jako druhý parametr celý objekt $this (Nette\Bridges\ApplicationLatte\DefaultTemplate) namísto typovaného pole.

Nejsem si jistý, zda to někde způsobil můj projekt nebo je to chyba v Nette. Skoro bych řekl to druhé, ale na druhou stranu je docela divné, že by to ještě nikdo nereportoval. Tak nevím. Jedu na PHP 7.2. Poradíte?

David Grudl
Nette Core | 8131
+
0
-

Jak se ti podařilo do projektu dostat nette/application 3.1 a latte ve verzi menší než 2.7?

Kajda23
Člen | 41
+
0
-

Noo… Je to tak. Díky! Tohle mě ani nenapadlo, spoléhal jsem na composer, nemám tušení, jak k tomu došlo. composer.json require vypadá takhle:

"require": {
		"php": ">=7.2",
		"nette/application": "^3.0",
		"nette/bootstrap": "^3.0",
		"nette/caching": "^3.0",
		"nette/database": "^3.0",
		"nette/di": "^3.0",
		"nette/finder": "^2.5",
		"nette/forms": "^3.0",
		"nette/http": "^3.0",
		"nette/mail": "^3.1",
		"nette/robot-loader": "^3.2",
		"nette/safe-stream": "^2.4",
		"nette/security": "^3.0",
		"nette/utils": "^3.0",
		"latte/latte": "^2.5",
		"tracy/tracy": "^2.7",
		"dibi/dibi": "^4.0",
		"sunra/php-simple-html-dom-parser": "^1.5",
		"mpdf/mpdf": "^8.0",
		"nextras/mail-panel": "^2.5",
		"whichbrowser/parser": "^2.0",
		"dragonmantank/cron-expression": "^2.3",
		"soukicz/zbozicz": "^1.1",
		"contributte/latte": "^0.4.0",
		"heureka/overeno-zakazniky": "^3.0",
		"gopay/payments-sdk-php": "^1.4",
		"giggsey/libphonenumber-for-php": "^8.12",
		"brick/postcode": "^0.2.3",
		"picqer/php-barcode-generator": "^2.0",
		"endroid/qr-code": "^3.9"
	}

a udělal jsem klasický composer update.

David Grudl
Nette Core | 8131
+
+1
-

A rovnou si i odpovím. Protože conflict s latte/latte: <2.7.1 >=3.0 se musí zapsat jako <2.7.1 || >=3.0.

🤦‍♂️