![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| ReactOS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.12.2007 Репутация: нет Всего: 33 |
Добрый день!
У меня такая проблема:
Если я из кода уберу "function connect_to_db() { } connect_to_db();" , то код уже рабочий, и происходит соединение к серверу базы данных. Не могу понять, почему если я хочу добавить в код "function function_name() { } function_name();" - то перестает работать :( Вроде переменная $cnx находится в теле функции, да и с code syntax - все нормально :( Конечно можно и обходиться и без этого, но так неудобно по коду искать, тем более в Notepad++ есть поиск по ф-циям в коде, достаточно кликнуть по нужной функции, и ты будешь перенаправлен на нужную строку Почему не работает код? В чем ошибка? |
|||
|
||||
| DeamonShan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 26.11.2005 Репутация: 3 Всего: 6 |
Внутри функции переменные $host, $user, $pass неопределены....
попробуй так, передать их или возми из global
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Непонятно, зачем эту функцию искать по коду, если она нужна ровно один раз.
|
|||
|
||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
через global советую ничего не обьявлять. Ни только в этом случае но и в любом коде.
Лучше сделай так:
в этом случае у тебя все будет в одном месте и соедеинение с базой данных и параметры необходимые для этого. Это сообщение отредактировал(а) krundetz - 6.5.2008, 15:11 |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
а зачем параметры держать в одном месте с подключением?
Обычно параметры лежат в файле с настройками. |
|||
|
||||
| DeamonShan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 26.11.2005 Репутация: 3 Всего: 6 |
ага, или лучше, если все в конфиг файле хранится, передать через аргументы...
|
|||
|
||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
Боюсь человек пока до конфигурационных файлов не дорос. Но на будущее действительно параметры в конфиг и передача по аргументу. |
|||
|
||||
| ReactOS |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.12.2007 Репутация: нет Всего: 33 |
это почему же? Добавлено @ 15:38
чего-то не понял :( это типа, хранение данных в файлах расширения *.cfg , и дальнейшая работа с этими данными? чего-то не пойму, очень интересно стало!
ничего, побольше манов и будем расти Добавлено @ 15:43
хочешь сказать, что мне нужно разделить мой файл еще на два, что ли? Т.е. details.php (настройки) и connect.php (подключение)?? это, ты имел в виду? Это сообщение отредактировал(а) fortrun - 6.5.2008, 15:47 |
||||||||
|
|||||||||
| krundetz |
|
||||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
У тебя будет файл: config.php - в котором хранится вся информация о настройках системы в том числе и информация о хосте пароле и имени пользователе базы данных. Этот файл нужен для того чтобы тебе не лапатить кучу кода в поисках того какая переменная отвичеет за ту то и туту настройку и где она обьявлена а сразу знать где её искать. Это вопрос из области правильного оформления кода. Далее ты этот файл подключаешь туда где он тебе может понадобиться в данном случае в файл устанавливающий соёдинение с БД. Так как в файле могут содержаться множество неиспользуемых одновременно настроек то подходим к разделению настроек на несколько файлов. Самый простой пример настройки для администраторской части и настройки для пользовательской. Это вопрос уже из области правильного проектирования системы.
Противоречит концепции ООП. Это сообщение отредактировал(а) krundetz - 6.5.2008, 15:57 |
||||
|
|||||
| DeamonShan |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 26.11.2005 Репутация: 3 Всего: 6 |
необязательно *.cfg можно и по другому назвать файл, например, config.inc или как то по другому, но пусть будет config.cfg
содержимое этого файла для начало будет таковым:
и твой скрипт, например, script.php:
при этом оба файла должны быть в одной директории еще интереснее когда функции писать тоже в отдельный файл)))) |
||||
|
|||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
fortrun, лучше про шаблоны почитай.
все, что здесь обсуждается - выеденного яйца не стоит |
|||
|
||||
| ReactOS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.12.2007 Репутация: нет Всего: 33 |
лезть в такие подробности пока не буду, но есть вопросы по этому поводу: А в каких случаях нужно использовать ООП? Ведь, можно построить достаточно классные по функциональности сайты и без ООП? К тому же, PHP является интерпретатором, по ходу, чем больше ненужных строк, тем медленее выполняется работа скрипта, хотя возможно это экономия на спичках... Просто недавно наткнулся на код подключения к серверу баз даных, какой-то навороченный и на ООП как раз, по-моему такой код будет медленнее выполняться, чем просто:
ИМХО 2-е строчки, и ни каких проблем Хотя, я може чего-то и не понимаю Добавлено @ 16:09 извините, с CMS ушел как-раз ради обучения, поэтому шаг назад делать не будем только вперед! Добавлено @ 16:12 А для чего нужно правильное проектирование? Для заказчика? А разве ему интересно, как система устроена? Разве ему не нужен банально результат? Даже, если код будет корявым или простым? Это сообщение отредактировал(а) fortrun - 6.5.2008, 16:21 |
|||
|
||||
| DeamonShan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 26.11.2005 Репутация: 3 Всего: 6 |
помоему правильное проектирования кода нужно только для тебя самого, чтобы сам не запутался))))) попробуй написать пару скриптов с облаком переменных... потом узнаешь))) и задумаешься о правильной конструкции скрипта))
|
|||
|
||||
| ReactOS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.12.2007 Репутация: нет Всего: 33 |
||||
|
||||
| DeamonShan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 26.11.2005 Репутация: 3 Всего: 6 |
по поводу классов: у тебя стоит MySQL так? ты пишешь скрипт именно под эту БД... и если тебе придется перенести свой сайт на другой сервак, где нет MySQL, а стоит, например, PosgreSQL тебе придется переписать скрипт)))))))
а классы позволяют этого избежать... просто в соответсвии с БД подключаешь нужныж класс БД.... извеняюсь за свой русский)) |
|||
|
||||
![]()
|
| Правила форума "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. |