Framework foton
Инструмент для профессиональной разработки web приложений
Контроллеры в Foton
Работа контроллера на Framework Foton отличается от работы стандартных MVC фреймворков. Здесь уже не нужно создавать метод под каждое представление да еще и рендерить на своей стороне. На Framework Foton один контроллер это одна страница, в отличии от привычного — один метод — одна страница. Сделано это потому что в большинстве веб приложений работа в контроллере состоит из боольшого числа запросов к модели, и здесь эти запросы можно разбить на категории и при этом не думать про рендеринг. Как же писать контроллер 1. Создайте контроллер в namespace Controller\Site или Controller\Admin в зависимости от того открыт ли к нему доступ 2. Создайте сам класс, в имени класса укажите имя файла. 3. Создайте свой публичный метод без параметров, а лучше 2 или 3, выведите в return какую-то информацию. 4. Вызовите в представлении этого контроллера @arr{data} 5. Посмотрите, все результаты ваших методов записались в массив data, где ключом массива является название вашего метода, а значением его результат. Варианты с request запросами Вы также можете создать метод с атрибутами, например добавьте в один из ваших методов атрибут $href, далее используйте его для вывода. Теперь передайте на вашей странице get параметр href, он будет передан в ваш метод и выведен. Вы можете передавать неограниченное число параметров, важно понимать, что метод сработает только когда все обязательные request данные переданы. После использования параметр удаляется и не может использоваться в следующем методе, это сделано для того, чтобы не было путаницы и каждому методу отвечал свой набор параметров, а если параметры совпадают, значит нужно сделать объединение по одному методу и одной точке входа. При этом если достаточно использовать один из методов система этого не запрещает, просто следующий метод не будет вызван. По этой причине необходимо методы с большим количество параметров выносить наверх. Чтение методов идет также как они написаны в коде контроллера. Пример: public function news($section,$page){ //выводим новости из раздела section на странице $page // сработает если указан и section и page } //здесь переменные $section и $page затираются, если отработал первый метод public function newsMain($section){ //сработает только если $page не указана, а указана $section } Важно!!! При этом сами request данные не удаляются и вы также можете к ним обратиться через $FG→get()->page или $FG→post()→page Если название post и get параметра совпадают, то в метод будет передано POST значение.
© Copyright 2026 Разработано на Framework Foton
Продукт зарегистрирован в Роспатенте