|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
|
feosr |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 174 Регистрация: 20.1.2007 Где: Минск Репутация: нет Всего: 2 |
Решил написать загрузчик модулей, но пока у меня проблема в следующем:
допустим пользователь ввел ....../index.php/blog/post/1154/ Есть класс для обработки строки запроса и формировании массива сегментов. получается массив скажем такой:
ну это просто... Хотелось сделать какнить так: index.php/class/function/id/ однако встают следующее проблемы: если незадана функция с айди, то должно запускаться функция прописанная в классе blog по умолчанию. Я это делаю через метод Blog(), однако в случае присутствия вызывается не только основной метод но и то что мы указали. Как вызывать только то что надо? |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
feosr, Чпу пока можно отложить... на начальном этапе оно вредно. Пусть строка адресная так и выглядит
?mod=blog&func=post&id=1154. Потом, когда мясо заработает, выводить ссылки в Чпу -виде совсем несложно, на самый крайний случай ob_ - функциями вывод просканировать... Разруливать - .htacces'ом... Итого - если есть параметр mod - ищем класс $_GET['mod'], иначе - дефолтный класс - MAIN Если есть параметр func - ищем в классе функцию func. Остальные параметры должна добыть из адресной строки сама функция. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
feosr |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 174 Регистрация: 20.1.2007 Где: Минск Репутация: нет Всего: 2 |
эм.... ненашел ничего что мне бы помогло)
У меня уже реботают все 3 варианта (без ЧПУ, с мод реврайтом и с изврасченским ЧПУ). Однако проблема то была в запуске класса)) класс скажем так выглядит:
если неуказана функция - то все гуд, выводится функция blog() по умолчанию при назначении класса. А если указана вызывается еще и функция пост. Тобиш выполнение функции блог неесть хорошо в этой ситуации)) |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
feosr,
В конструкторе зачем выводится страница? Ее нужно выводить в отдельной функции - Def, к примеру. ДвЕжог, работающий таким образом может выглядеть как-то так
Добавлено через 2 минуты и 7 секунд еще фенечка - функции не должны выводить страницы echo'м. Это дело двигла. Потому, что он (двигл) может как-нибудь и по другому захотеть использовать эти странички, упаковать в json структуру, отконвертировать в utf-8 или еще чего -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
feosr |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 174 Регистрация: 20.1.2007 Где: Минск Репутация: нет Всего: 2 |
хотелось бы без необходимости использовать что-то типа deff() ну да ладно, раз это единственный вариант....
------- неответил ты мне на ответ, но всеравно благодарен. |
|||
|
||||
ksnk |
|
||||||||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
На какой еще ответ я не ответил? Если конструктор класса занят выводом какой-то информации, то очевидно она будет всегда выводится, независимо от того, нужна она или нет. Так уж они, конструкторы, устроены... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||||||
|
|||||||||
Правила форума "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. |