Gen. partnerAlgotech

PHP funkce var_export()

Funkce vrátí string, který reprezentuje vloženou proměnnou jako kdyby byla napsána v PHP scriptu. Výstup lze rovnou použít pro PHP parser.

|
7. října 2019

Dostupné od verze: PHP 4.2.0

Funkce vrátí string, který reprezentuje vloženou proměnnou jako kdyby byla napsána v PHP scriptu. Výstup lze rovnou použít pro PHP parser.

Parametry

Parametr Datový typ Výchozí hodnota Poznámka
$expression mixed není Proměnná s daty, které chceme exportovat.
$return bool null Pokud je true, funkce hodnotu parametru vrátí, místo toho, aby se rovnou použila.

mixed

Funkce vrátí reprezentaci vložené proměnné, pokud byl druhý parametr true.

Pokud byl druhý parametr false, funkce vrátí vždy hodnotu null.

Příklad dumpování pole

Mějme vstup:

$a = [1, 2, ['a', 'b', 'c']];
var_export($a);

Vrátí:

array (
0 => 1,
1 => 2,
2 =>
array (
0 => 'a',
1 => 'b',
2 => 'c',
),
)

Dumpování složitějších objektů a formátování

Často je potřeba dumpovat (exportovat) objekty s velmi sloužitou strukturou, nebo dokonce vygenerovat celou PHP třídu podle zadání.

Dobře k tomu slouží balík PhpGenerator, který je přímo součástí Nette framework.

Použití je jednoduché:

$class = new Nette\PhpGenerator\ClassType('Demo');
$class
->setFinal()
->setExtends('ParentClass')
->addImplement('Countable')
->addTrait('Nette\SmartObject')
->addComment("Popis třídy.\nDruhý řádek\n")
->addComment('@property-read Nette\Forms\Form $form');
// kód jednoduše vygenerujete přetypováním na řetězec nebo použitím echo:
echo $class;

Vygeneruje:

/**
* Popis třídy
* Druhý řádek
*
* @property-read Nette\Forms\Form $form
*/
final class Demo extends ParentClass implements Countable
{
use Nette\SmartObject;
}

Dumpování konstant a polí v proměnných:

$class->addConstant('ID', 123);
$class->addProperty('items', [1, 2, 3])
->setVisibility('private')
->setStatic()
->addComment('@var int[]');

Vygeneruje:

const ID = 123;
/** @var int[] */
private static $items = [1, 2, 3];

Další příklady jsou v oficiální dokumentaci.

Další zdroje

[Oficiální dokumentace funkce var-export](- Oficiální manuál pro var_export)

Načítání komentářů...

Zůstaňte v obraze

Přihlaste se k odběru našeho newsletteru a získejte nejnovější informace o kybernetické bezpečnosti přímo do vaší e-mailové schránky.

Vaše údaje jsou v bezpečí. Newsletter můžete kdykoliv odhlásit.