![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
SAnatoliy |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 1.10.2007 Репутация: нет Всего: нет |
P.S. Прочитал тут на сайте, про глобальные переменные. понял что способ этот с этой точки зрения не безопасный. но придумать как иначе не могу наверно. Посоветуйте кто как делает и как надо. |
|||
|
||||
Pokoinik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 17.3.2007 Где: /dev/null Репутация: 2 Всего: 3 |
SAnatoliy,
во первых, код будет работать только с включенным регистр глобалс, что уже не безопасно, используй $_GET['con'] во вторых, быстре работать будет конструкция if ... else if... или switch в третьих с какого такого перепугу, если у тебя con ровна буквам, она будет ровняться цифрам 4 5 6 Это сообщение отредактировал(а) Pokoinik - 18.10.2007, 15:51 -------------------- ICQ: 490-993 Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!! Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают. Делай или не делай! Никаких попробую! Йода (Yoda), мастер-джедай |
|||
|
||||
olegop |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 2.10.2007 Где: ПМР, Тирасполь Репутация: нет Всего: нет |
index.php?con=1
index.php?con=2 index.php?con=3
|
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
Для дальнейшего развития темы
![]()
-------------------- Amazing ![]() |
|||
|
||||
flashaa |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Вариант olegop, имхо, наиболее правильный. Ещё можно упростить, если
заменить на
В этом случае, нам не придется проверять внешнее условие isset:
Это сообщение отредактировал(а) flashaa - 19.10.2007, 11:40 |
||||||
|
|||||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
flashaa, а если нужен модульный движок? в смысле кинул в папку новый модуль и фсе к нему можно обращаться и он работает, что тогда?
-------------------- Amazing ![]() |
|||
|
||||
flashaa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Мой скрипт чему-то противоречит? Это же общая структура скрипта-контроллера, когда имеется некоторая переменная, идентифицирующая действие пользователя и как её можно обработать. Задача скрипта разграничить эти самые действия, а дальше после любой метки case помести свои дейтсвия для какого-угодно движка. Для твоего примера туда надо посестить reqire (нужный файл) Это сообщение отредактировал(а) flashaa - 19.10.2007, 12:37 |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
да приваильно нужно поместить файл
![]() -------------------- Amazing ![]() |
|||
|
||||
flashaa |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
MoLeX твой вариант действительно хороший в том, что нужно редактировать один файл дял каждого действия. Ты разделяешь скрипт на блоки, это тоже хорошо - облегчает редактирование/замену.
Но у твоего варианта также есть и минусы. Допустим у тебя есть несколько схожих действий пользователя, получается, что ты должен будешь писать во включаемых файлах одинаковый код. Скприты конечно много весить не будут, но зато в избыточности кода сразу затрудняется редактирование. Допустим написал 2 похожих файла и раскидал их в свою папку. А потом обнаружил, что у тебя была какая-то ошибка или нехорошее решение. Ты будешь редактировать каждый файл поочереди, если файлов много, запутаешься, пропустишь какие-то файлы... Это не говоря уже о глобальной переделке всей системы. Тогда тебе надо будет все файлы удалять и писать заново. У меня другой подход в скрипте, он работает как и твой в плане блочности, но лишен избыточности - каждый кусок кода повторяется в нем только 1 раз. Захочу поменять что-то в крупном проекте, поменяю исходный файл и все автоматически модернизируется. Я храню общую функциональность в одном месте, но это не значит, что я храню в этом index.php ВЕСЬ код, как раз наоборот. Я использую ООП на php5. Всю функциональность разбита на классы. А в заголовке скрипта прописан автолоадер.
Допустим я хочу работать с базой, тогда включаю класс Database
Как видишь кода не так уж много, все так же блочно и разделено. К тому же оно сосредоточено в одном файле и видна ВСЯ логика работы (в общих чертах) проекта и не надо для того чтобы разобраться лазить по всем файлам. Выше мы рассматривали только гет запросы. А если у тебя есть также POST и AJAX запросы, которые к тому же могут обрабатываться вместе? В моем случае это просто ещё одна секция кода в index.php а в твоем случае ты должен будешь писать файлы так, чтобы они получали информацию о действиях и переменных друг друга, что сомневаюсь, что получиться и ты скорее всего запутаешься - перепутаешь какие переменные были в одном файле, какие в другом, какие в глобальном скрипте. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |