Разделы
Новости
 

Переменные приложения

Обычное использование

Переменные, определенные во фреймворке являются глобальными, т. е. они могут быть доступны в любом месте приложения. Но глобальные переменные фреймворка это не глобальные переменные PHP, так в F3 переменная с именем example, будет содержать отличное значение от от PHP переменной $example. Фреймворк реализован как объектно ориентированное приложение, и не будет использовать глобальное пронстранство имен констант, переменных, функций и классов, что может конфликтовать с приложением. В отличие от других фреймворков, F3 не использует определений define(). Все константы фреймворка описаны в классах.

Для определения переменной в фреймворке используется метод set, например:

<?php $f3->set('var',value); ?>

Во фреймворке переменные могут быть любыми PHP типами данных, включая объекты и анонимные функции.

Для определения нескольких переменных за раз:

<?php $f3->mset([ 'foo'=>'bar', 'baz'=>123 ]); ?>

Для извлечения значения переменной используется метод get

<?php $f3->get('var'); ?>

Для удаления переменной из памяти, если Вы больше не планируете ее использовать применяется метод clear:

<?php $f3->clear('var'); ?>

Чтобы узнать была ли определена переменная ранее, используйте метод exists:

<?php $f3->exists('var'); ?>

Глобальные переменные

F3 содержит собственную таблицу данных для фреймворка и приложения, независимо от PHP. Некоторые переменные сопоставлены с глобальными PHP переменными. F3 SESSION эквивалентна $_SESSION, REQUEST сопоставляется с $_REQUEST. Рекомендуется использовать переменные фреймворка, вместо глобальных PHP, чтобы облегчить передачу данных в различные функции, классы и методы. Они также имеют и другие преимущества:

  • Вы можете использовать F3 переменные непосредственно в шаблонах.
  • Нет необходимости использовать ключевое слово global внутри каждой функции или метода. Все F3 переменные доступны в любом месте приложения.
  • Установка значений в F3, эквивалентно установке глобальной переменной, так записав значение в SESSION, оно будет так же записано и в $_SESSION