Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переопределение класса 
:(
    Опции темы
Smorodin
Дата 7.9.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрейший
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 10.4.2006
Где: Пермь

Репутация: нет
Всего: 1



есть функция. внутри нее есть цикл while.
В цикле подгружается файл, внутри файла есть класс.
в цикле я определяю этот класс. 
в зависимости от ситуации данный класс может определиться один или больше раз. 
Если он определяется один раз, то все хорошо. А вот если больше - "Невозможно переопределить класс". Что делать?


--------------------
Сделать можно все, только вопрос - когда?
PM MAIL Skype   Вверх
console
Дата 7.9.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.2.2007
Где: Belarus::Minsk

Репутация: 2
Всего: 3



Цитата(Smorodin @  7.9.2007,  15:35 Найти цитируемый пост)
в цикле я определяю этот класс. 

Что значит определяешь класс? Создаешь объекты?



--------------------
user posted image
Nothing is impossible
My WeBlog
PM MAIL WWW ICQ   Вверх
Fally
Дата 7.9.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 17.8.2006
Где: Dahla

Репутация: 3
Всего: 4



По правилам РНР ты уже определённый класс переопределить с тем же именем и не можешь.
Console, не, он имеено объявляет класс.

Это сообщение отредактировал(а) Fally - 7.9.2007, 16:43


--------------------
Прежде чем задать вопрос на форуме воспользуйтесь поиском.
user posted image
user posted image
PM MAIL   Вверх
Smorodin
Дата 7.9.2007, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрейший
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 10.4.2006
Где: Пермь

Репутация: нет
Всего: 1



ой-ой-ой, я торопился писать поэтому совершил грубейшие ошибки. прощения мне нет.

в общем, вот как дело.

есть функция, в ней я 
Код

while(......) {
require(.....);
$MyClass = new SuperClass();
$ToOut = MyClass -> MyFunc();
}


а в подгружаемом файлике 
Код

class SuperClass {
   function MyFunc() {
   .......
   }
}



--------------------
Сделать можно все, только вопрос - когда?
PM MAIL Skype   Вверх
vasac
Дата 7.9.2007, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 8
Всего: 36



Может быть это вам поможет — class_exists().
Но еще лучше поможет пересмотр алгоритма.
PM WWW   Вверх
Vaulter
Дата 7.9.2007, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



по моему было бы лучше и логичнее делать так
Код

require_once(.....);
while(......) {
$MyClass = new SuperClass();
$ToOut = MyClass -> MyFunc();
}
 smile 


--------------------
PM MAIL WWW ICQ   Вверх
Sergey89
Дата 7.9.2007, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 14.9.2004

Репутация: нет
Всего: нет



Код

require(.....);
$MyClass = new SuperClass();

while(......) {
    $ToOut = MyClass -> MyFunc();
}

А помоему, лучше вобще так.

Это сообщение отредактировал(а) Sergey89 - 7.9.2007, 19:23
--------------------
mlib.com.ru
PM MAIL   Вверх
ewolf
Дата 8.9.2007, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 15.8.2006
Где: г. Москва

Репутация: 8
Всего: 18



А так как, судя по коду функция MyFunc не зависит от параметров цикла, и если эта функция не имеет каких-то внутренних механизмов, влияющих на ее поведения в зависимости от числа вызовов, то лучше так:

Код

require(.....);
$MyClass = new SuperClass();
$ToOut = MyClass -> MyFunc();

while(......) {
    

}


Однако, я предполагаю, что автор хочет каким-то образом менять содержимое класса в зависимости от итерации.
PM MAIL ICQ   Вверх
Smorodin
Дата 8.9.2007, 07:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрейший
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 10.4.2006
Где: Пермь

Репутация: нет
Всего: 1



дело в том, что в цикле идет создание массивас результатами запроса к базе 
Код

while($Row=mysql_fetch_array($Res))

и в зависимости от результата, то есть элемента массива $Row мне нужно подключить тот или иной файл для совершения тех или иных действий.

В каждом файле есть класс SuperClass и главная функция MyFunc(), которая генерирут результат и возвращает его...

Так что полагаю, что включение файла должно быть внутри цикла.


--------------------
Сделать можно все, только вопрос - когда?
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2952 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.