![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Deja_Vu |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 15.6.2007 Где: Казань Репутация: нет Всего: 2 |
Очень удобно.... Хотелось бы в классе использовать этот механизм. Такое возможно ... и если да, то как?! ниже мой пример ... классом.
|
||||
|
|||||
sTa1kEr |
|
||||||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Если я вас правильно понял, то в 49ой строке вам нужно написать
Т.е. значение переменной в фигурных скобках является переменным именем поля. Для примера, можно написать так
И это будет полностью эквивалентно
Добавлено через 5 минут и 9 секунд В вашем примере PHP будет интерпретировать 49-ую строку, как имя поля локальной переменной $currentTag. Но у вас не опредлена локальная переменная $currentTag и поэтому PHP скажет, что ткого поля не сществует. |
||||||
|
|||||||
Deja_Vu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 15.6.2007 Где: Казань Репутация: нет Всего: 2 |
Спасибо - это оно.
|
|||
|
||||
WIPS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 1 Всего: 8 |
sTa1kEr, спасибо за:
Мне как раз надо было сделать кое-что похожее. --------------------
Автопроизводители, машины, марки, модели! |
|||
|
||||
Deja_Vu |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 15.6.2007 Где: Казань Репутация: нет Всего: 2 |
Появилась очередая проблемка с этим куском -((
У меня дома этот код работает.
и проверка выводит результаты:
На сервере же ... после цикличного обхода 1 куска ... проверка показывает пустой результат... Вот: http://aanda.fatal.ru/sserver.php В проверочном куске выводятся те параметры которые были найдены в файле и помещены в $this->currentTag, который используется затем как параметр - а вот потом, как я понимаю
не срабатывает. Как с этим справится?! Не хочу использоваться switch. Это сообщение отредактировал(а) Deja_Vu - 9.7.2007, 15:12 |
||||||
|
|||||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Deja_Vu, на сервере PHP 4? Давно пора уже переходить на PHP 5
![]()
По идеи только так, хотя проверить не могу - нету PHP 4. |
|||
|
||||
Deja_Vu |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 15.6.2007 Где: Казань Репутация: нет Всего: 2 |
хз какой PHP ... не мой же сервак. Но так тоже не прошло. ну да ладно ... это тестовый сервак. Хотя счас через 4 php дома прогоню |
||||
|
|||||
Deja_Vu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 15.6.2007 Где: Казань Репутация: нет Всего: 2 |
del
Это сообщение отредактировал(а) Deja_Vu - 10.7.2007, 21:56 |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Могу еще предложить такой вариант:
Хотя тогда уж проще просто в массиве данные хранить... |
|||
|
||||
Deja_Vu |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 15.6.2007 Где: Казань Репутация: нет Всего: 2 |
Проблема!!!
Оказывается PHP 4
верно интерпретирует. Проблема в другом. После изменения атрибутов класса внутри парсящих XML функций, все аттрибуты класса на выходе из них оказываются не изменны!!!
Результат: http://aanda.fatal.ru/sserver.php Что делать?! Необходимо, что бы этот скрипт заработал на PHP 4 версии, но отказываться от классов нельзя -(( Это сообщение отредактировал(а) Deja_Vu - 10.7.2007, 21:50 |
||||
|
|||||
sTa1kEr |
|
||||||||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Сразу подумал, что все проблеммы из-за того, что в PHP 4 объекты по умолчанию передаются по значению, а не по ссылке, но решил проверить. Очень неординарно ведет себя PHP 4. Проблемы оказалась в самом неожиданном месте, в строчках 47 и 48:
Хотя, по идеи, конструкции типа Array(&$this, "startTagEdit") правильные и $this в массив устанавливается по ссылке, но! в xml_set то-ли по дороге ссылка в массиве теряется, то-ли ссылки в xml_set_object и других xml_set разные оказываются... Однако если поместить эти строчки перед самим xml_parse(), то, как ни странно, все работает. Но наиболее правильный вариант - это передавать стоки вместо массивов. Т.е. вместо строчек 47 и 48:
Видимо в этом случае он сам определяет, что это методы нужного класса и сам правильно сохраняет нужные ссылки. Добавлено @ 00:09 Да, совем забыл. Еще один момент. Т.к. xml_parser() парсит теги построчно (как не странно, то что вы вызываете его для каждогой строки отдельно - тут непричем), то для одного тега он может вызывать метод dataEdit() несколько раз. Eсли к примеру теги будут вида:
То он сначала запишет в поле MODNAME "My Moduel", а затем перезапишет его переносом строки. По этому, желательно проверять, что он второй раз пишет в один тег. К примеру, добавить в начало метода:
Это сообщение отредактировал(а) sTa1kEr - 11.7.2007, 00:10 |
||||||||
|
|||||||||
Deja_Vu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 15.6.2007 Где: Казань Репутация: нет Всего: 2 |
хм ... да уж.. неожиданна развязка - пасибо.
Просто втоой раз эта функция вызывается вне - после закрывающего тега. Это сообщение отредактировал(а) Deja_Vu - 11.7.2007, 00:19 |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "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. |