![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Master_ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
Сейчас есть такой код. Подумываю переделать elseif на case но стоит ли оно того? Что бы вы сделали на моем месте для оптимизации? Это сообщение отредактировал(а) Master_ - 13.8.2007, 12:18 |
|||
|
||||
| Severyanin |
|
|||
![]() Исследователь ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 31.7.2007 Где: Россия, Омск Репутация: нет Всего: 9 |
А как ты хочешь заменить такие разные условия case? По-моему, это невозможно. И есть ли смысл оптимизировать иакой простой код?
-------------------- "Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл "Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Однозначно использование switch, внутри которого - include. _once лучше не использовать.
|
|||
|
||||
| Master_ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
Можно пример?
Добавлено через 13 секунд Да, и почему once не использовать? Добавлено через 2 минуты и 18 секунд Навернео потому что _once проверяет по всему доку, не был ли вставлен этот файл? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
http://php.net/switch
_once не надо использовать, т.к. по теории вы должны так построить свой скрипт, чтобы он два раза один и тот же файл не подключал. Отсюда надобность проверки на "подключенность" файла, которая к тому же кушает процессорное время, не нужна. Да, есть ряд задач, где это это может быть необходимо, но это совсем другой уровень, да и через get_included_files (вроде так) сделать, думаю, будет проще и быстрее. |
|||
|
||||
| Master_ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
Зачем мне ссылка на свитч кейс? Я это и так знаю, я хотел немного кода-примера
А что насчет вставки страниц через readfile()? Например футер у меня без пхп кода, будет ли readfile быстрее include? |
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Вот там и есть примеры. А код за Вам, из-за уважения к Вам писать не буду... Программист сам должен все делать ;)
Использование include в данном случае является грубейшей ошибкой. |
||||
|
|||||
| Master_ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
||||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Да, это будет правильным вариантом.
|
|||
|
||||
| Golda |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
Все возможно.
Смысла, правда, я в этом не вижу. Но меня заинтересовала принципиальная позиция
Mal Hack, имелось в виду для данного конкретного случая или вообще? Если вообще, то почему? Оставим за скобками вопрос о once. Это сообщение отредактировал(а) Golda - 13.8.2007, 19:59 -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
||||||
|
|||||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Golda, ваш пример, если и перетранслируется без ошибок в машинный код, то выполняться не будет... case требует КОНСТАНТЫ, так во всех языках, а у вас - динамическое значение (функция).
Для данного случая, конечно. |
|||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
А, ok. а код рабочий. Можете запустить и проверить -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| Master_ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
Код то рабочий но смысла менять его на такой думаю нет.
Оставил else if. |
|||
|
||||
| Severyanin |
|
|||
![]() Исследователь ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 31.7.2007 Где: Россия, Омск Репутация: нет Всего: 9 |
В ряд ли он корректно будет работать. И метод странный. Чем он лучше If-then в данном случае? -------------------- "Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл "Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Я даже запускать не хочу, т.к. он противоречит принципам кэйса. switch лучше if'a тем, что на машинном уровне меньше программных связей должно устаналиваться. Зависит от задачи, конечно. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |