[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Грамотность и красота кода
Mxnr
Ребята, подскажите пожалуйста как более грамотно реализовать эти две функции?

    private function postController() {
global $session;
if (isset($_POST['login'])) {
$this->siteMap('login', 'Авторизация');
include_once '../modules/login.php';
}
if (isset($_POST['registration'])) {
$this->siteMap('regist', 'Регистрация');
include_once '../modules/regist.php';
}
if (isset($_POST['nano'])) {
if ($session->is_log_in()) {
$this->siteMap('nano', 'Нано-кредиты');
include_once '../modules/creditform.php';
} else {
$this->textLogin();
}

}

if (isset($_POST['express'])) {
if ($session->is_log_in()) {
$this->siteMap('express', 'Экспресс-заем');
include_once '../modules/creditform.php';
} else {
$this->textLogin();
}
}

if (isset($_POST['credit'])) {
if ($session->is_log_in()) {
$this->siteMap('creditlines', 'Кредитные линии');
include_once '../modules/checkwmid.php';
} else {
$this->textLogin();
}
}
}


private function getController() {
global $session;
if (isset($_GET['help'])) {
$this->siteMap('help', 'Помощь');
include_once '../blocks/texts/help.html';
} elseif (isset($_GET['login'])) {
$this->textLogin();
} elseif (isset($_GET['regist'])) {
$this->siteMap('regist', 'Регистрация');
include_once '../blocks/forms/regist.html';
} elseif (isset($_GET['logout'])) {
if ($session->is_log_in()) {
$session->logout();
$this->siteMap('logout', 'Выход');
include_once '../blocks/texts/logout.html';
} else {
include_once '../blocks/texts/content.html';
}
}
elseif (isset($_GET['nano'])) {
$this->siteMap('nano', 'Нано-кредиты');
include_once '../blocks/texts/nano.html';
} elseif (isset($_GET['privacy'])) {
$this->siteMap('privacy', 'Правила');
include_once '../blocks/texts/privacy.html';
} elseif (isset($_GET['express'])) {
$this->siteMap('express', 'Экспресс-заем');
include_once '../blocks/texts/express.html';
} elseif (isset($_GET['creditlines'])) {
$this->siteMap('creditlines', 'Кредитные линии');
include_once '../blocks/texts/creditlines.html';
} elseif (isset($_GET['support'])) {
$this->siteMap('support', 'Тех.поддержка');
include_once '../modules/support.php';
return $text;
} else {
include_once '../blocks/texts/content.html';
}
}




Спустя 11 минут, 50 секунд (17.04.2010 - 21:15) moskitos80 написал(а):
Можно привязать имя передаваемой переменной к имени файла и избежать многочисленных else if. Смотреть какая переменная пришла и подключать файл с такимже именем - я на таком принципе себе в cms роутер делал... Но я у себя подключал не файлы а классы через ф-цию autoload - там ещё проще...

Спустя 4 минуты, 34 секунды (17.04.2010 - 21:19) twin написал(а):
Это не функции, а методы... В том и вся беда.

Ну для начала. Зачем в классе ориентироваться на $_POST?

Ну фиг с ним, облажался - не так и страшно. Но если в нем нет ничего из предложенного
login
registration
nano
и так далее?
Может конструктор где то имеет место быть?
Вы уж батенька либо трусы наденьте, либо крестик снимите. ООП, так уж полностью всю веревку сюда, пусть народ потешется. Сколь это красиво и выгодно.

Иначе эту бестолковость можно решить вообще двумя строчками. Не мешая в кучу всяческие безобразия из выводов и синглтонов smile.gif




Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.