![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Необходимо удалить ффункцию, чтобы потом можно было задать новую с этим же именем и не было redeclaire. В мануале о адресу http://ru.php.net/manual/ru/ref.funchand.php упоминается только unregister_tick_function, но это похоже не то...Помогите?
-------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
А зачем? Это противоречит принципам проектирования. Если тебе нужно реализовать перегрузку, то используй наследование в классах или создавай функцию динамически через create_function.
|
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 3 Всего: 71 |
AztEK, собственно а как ты себе предсталяешь перегрузку функций в PHP? В PHP нет вложенных функций, функции компилируются сразу и вызываются вне зависимости от того, где были объявлены: выше, ниже, правее, левее... В соответствии с этим порядок компиляции твоих функций не зависит от логики программы, разве что через include из подключать.
|
|||
|
||||
Serkys |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 4 Всего: 22 |
Вложенные функции есть (если я это понятие правильно понимаю). Можно объявить функцию внутри функции, и вложенная функция не будет определена до первого вызова родительской функции. |
|||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
2all
Пишу движок со сменными модулями. Если какой-то модуль регистрирут функцию, а другой регистрирует свою с этим же именем, получаем redeclaire... Serkys, хм...ты меня на мысль натолкнул...у меня модуль инклудится внутри функции(метода класса, если точнее), полученный контент буферизируется и складируется куда надо... При инклуде нового модуля вызывается новая версия этой функции... В этом случае можно что-нибудь сделать? Добавлено @ 06:05 Сегодня поэкспериментирую -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Объекты надо использовать...
|
|||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
В смысле? Каждый модуль - отдельный объект?? -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Serkys |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 4 Всего: 22 |
AztEK, а почему нельзя сделать так:
В конце названия функции подставляется microtime() и пишется в сессии какие-нибудь, или типа того. При вызове функции это microtime() достаётся и подставляется к имени функции. |
|||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Serkys, можно конечно, но это самый крайний вариант
![]() ![]() P.S. Как я оказывается плохо знаю PHP... -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Serkys |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 4 Всего: 22 |
Можешь через function_exists проверять. Если определена, то в конец цифру. Если цифра есть - то цифру +1.
А для удаления функции я что-то не нашёл... |
|||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Serkys это всё равно геморрой сильный...
![]() -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Endeveit |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 2.6.2006 Репутация: 4 Всего: 7 |
Но всё это от лукавого. Советую пнуть гугл или яндекс на предмет "проектирование и разработка модульной cms", "разработка и проектирование сложных систем", "модульное программирование в пхп" ну и т.д. и т.п. |
|||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Endeveit, тот же способ, что и у Serkys'a! Создавать фукнции с динамическим именем я не хочу пока что...
-------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Endeveit |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 2.6.2006 Репутация: 4 Всего: 7 |
||||
|
||||
Azazel |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
А возможно просто для начала озвучится КОНКРЕТНЫЕ требования для которых данный гемморой надо?
![]() |
|||
|
||||
AztEK |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Endeveit, идентификатор модуля задаётся динамически, так что это всё же тоже самое
Azazel
С удовольствием использую, только посоветуёте как. -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
||||
|
|||||
Azazel |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
AztEK, да хоть и так:
надеюсь понятно. если нет - спрашивайте.... З.Ы. А вообще для такого глобального (?) проекта лучше использовать ООП - и геморроя меньше и взаимодействие станет нормальным, что при процедурном подходе практически невозможно, ИМХО |
|||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Я и так использую ООП. Дело в другом. Модули писать возможно не я буду, поэтому неизвестно, какие там будут функции, классы и объекты...
Код я не понял ![]() -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Endeveit |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 2.6.2006 Репутация: 4 Всего: 7 |
Название модуля тоже задаётся динамически?
как я предлагаю сделать: Физическая структура системы:
в файле function.php храним все функции модуля, названия им даём по алгоритму: (Название модуля == названию папки)+нижнее подчёркивание+имя функции. В итоге имеем уникальные имена функций и можем к ним обращаться. На крайний случай, зная универсальное имя функции (пусть будет funcName) и имя модуля (пусть будет в переменной $modName), динамически вызываем функцию:
|
||||
|
|||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Вот это я и не хочу. Хочется попроще. Хотябы через ООП. -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Azazel |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
ну если Вы используете ООП, то моя конструкция должна была быть Вам понятной.
если Вы в проекте используете ООП и разработка ведется нескольими разраотчиками то хорошо для каждого модуля сайта иметь отдельный класс; шанс что названия классов повторяться практически равен нулю (это при нормальном подходе к разделению проведения работ). Классы складируем в папку классы (использовать CVS хороший тон) загрузку их делать через __autoload (в РНР5), что бы небыло конфликтов имен у обьектов класса достаточно называть обьект так же (сомневаюсь что их от одного моделю будет много) или вести разработку: один модуль - один человек (одна группа). тогда конфликтов имен тоже не будет. модули собирать по отдельным папкам.... А вообще Вам еще рано за такие проекты садиться, ИМХО |
|||
|
||||
Endeveit |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 2.6.2006 Репутация: 4 Всего: 7 |
да хотя бы и так: (версия для php4)
Это сообщение отредактировал(а) Endeveit - 7.6.2006, 13:20 |
|||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Azazel конструкция мне понятна. Непонятно её назначение в этом контексте.
Имена классов, ясень пень, должны быть индивидуальны среди классов модулей конкретного сайта. Чтобы добиться этого наверняка, придётся их идентифицировать среди всех модулей, что, понятно, недопустимо. Добавлено @ 13:27 Endeveit ![]() Сформулирую по другому. Требуется, чтобы каждый модуль движка мог задать свой набор функций такой, что ни онда из них не конфликтовала с уже созданными. При решении этого вопроса хочется не использовать функций, классов и объектов с динамически задаваемыми именами, поскольку это, как мне кажется, усложнит читабельность и гибкость кода. -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Endeveit |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 2.6.2006 Репутация: 4 Всего: 7 |
AztEK, ты не хочешь "использовать функций, классов и объектов с динамически задаваемыми именами". А я тебе что предлагаю? Где там динамические имена? У нас есть модуль "Статьи", под него пишем класс и в этот класс кладём все функции, называй их как душе угодно. Просто при работе с модулем инициализуем объект "Статьи" и обращаемся к каждому из методов. и так для каждого модуля. Пример:
|
|||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Endeveit
Articles и Guestbook. Эти имена задаются динамически. -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Azazel |
|
||||||||||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
ДЛЯ ТЕХ КТО В ТАКНЕ
каждый модуль - класс (namespace - как Вам удобнее работать) в каждом класс есть набор функций которые могут дублировать себя в других классах (например в классе А и в классе Б есть функция В); исходя из идеологии и синфтаксиса ООП получаем, что
функции addRecord() никак между собой не связаны и выполняют принципиально разные действия. теперь смотрим на практику применения:
таким образом у нас есть два обьекта с методами (фугкциями) которые называются идентично, но:
делают принципиально разные вещи и им абсолютно пофик как названы методы в соседник классах, которыми оперируют соседнии объекты!!!!! РЕЗЮМЕ ДЛЯ ПОЛНЫХ ТАНКИСТОВ используя неймспейсы или классы мы тем самым никоим образом не зависим от ранее созданых и описаных функций. Классы и неймспейсы в данном контексте вашего вопроса выступают как префиксы персональных функций. /* выдохся - пошел пить чай */ надеюсь ТАК понятно? Добавлено @ 13:43
а это что еще за цирк? как так? Вы не знаете как будет называться модуль??? ![]() |
||||||||||
|
|||||||||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Имя каждого модуля создаётся динамически => имя класса создаётся динамичеси => противоречие условие задачи И "учить" меня элементарным вещам не надо. Добавлено @ 13:47 Azazel понятия не имею. Администратор CMS скачивает модуль, написанный третьими лицами. Система не знает ни кто писал этот модуль, ни его id, ибо задаётся он администратором при установке модуля. Это сообщение отредактировал(а) AztEK - 7.6.2006, 13:47 -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Azazel |
|
||||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
вы создаете полиморфную систему, которая будет создавать себя сама? извините, но Вы пишите откровенный бред с точки зрения логики и программирования.... А учить видимо надо, так как этих "эдлементарных" вещей Вы как раз и не понимаете Это сообщение отредактировал(а) Azazel - 7.6.2006, 13:51 |
||||
|
|||||
IvanB |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 23.5.2005 Где: Irkutsk Репутация: 2 Всего: 5 |
Если я правильно понял тебе просто необходим движок, поддерживающий подключение различных модуле. Так? --------------------
Закон отладки: Каждая последняя ошибка является предпоследней. |
|||
|
||||
Endeveit |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 2.6.2006 Репутация: 4 Всего: 7 |
Ключевое слово выделено жирным. Где было упомято об айдишнике? Извини, конечно, но у каждого модуля есть имя (название), заданное создателем, пусть даже создатель- матрица, программирующая сама себя. И имя это является статическим. Совсем необязательно [имя модуля] == id. Id- это некое внутреннее представление системы о подключенном модуле.
|
|||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
IvanB мне необходимо написать движок, поддерживающий подключение различных модулей. Да.
-------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Azazel |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
/* покинул топик ибо тут вссе запущено, ибо автор не ведает что творит */
|
|||
|
||||
AztEK |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
То есть по сути идентификатор, уникальный среди всех модулей системы (не только установленных на конкретном сайте!), иначе его смысл теряется.
Да, согласен. Так и есть. id задается при установке модуля, повторюсь. В любом случае использование задаваемое не системой имя цункции или класса сопряжено с большим геморроем. Этого я и хочу избежать. -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
||||
|
|||||
Endeveit |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 2.6.2006 Репутация: 4 Всего: 7 |
![]() Советую скачать скрипт более-менее крупной портальной модульной системы и посмотреть что там внутри (например SSRTech, хотя это может быть сложновато) Да, само-собой кладезь знаний- XPoint: Пишу CMS (мысли вслух, концепции, идеи, решения) обязательно к прочтению (читать до полного просветления и ещё пару раз после оного) з.ы. как правильно было замечено Вами о себебез обид ![]() |
|||
|
||||
IvanB |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 23.5.2005 Где: Irkutsk Репутация: 2 Всего: 5 |
Ты не совсем понял автора. Бессмысленное сообщение.
Я делал как - есть XML файл со списком модулей вида
На главной странице происходит подгрузка необходимых модулей. (Возможно это не надо) Далее. Есть некий класс Modul. Базовые классы модулей наследуются от него. В нём есть некоторые методы. (/end) Я бы советовал копать в этом направлении. AztEK, или ты так и делаешь? --------------------
Закон отладки: Каждая последняя ошибка является предпоследней. |
||||||
|
|||||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
IvanB я тоже беру список модулеё из XML.
Да, это здравая идея. Я тоже над этим думаю... Собственно всё упирается в том, что имя производного класса тоже должно быть уникально (ибо модули уникальны), и опять возвращаемся к первоначальной проблеме... -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
IvanB |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 23.5.2005 Где: Irkutsk Репутация: 2 Всего: 5 |
А производные классы модулей создаются не динамически. Их пишут программисты. И Имя класса - вещь, которая должна статической быть. И код класса, кстати, тоже.
По другому делать, по моему скромному мнению, нерационально и ... Это сообщение отредактировал(а) IvanB - 7.6.2006, 14:37 --------------------
Закон отладки: Каждая последняя ошибка является предпоследней. |
|||
|
||||
AztEK |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Нет. И какое оно будет? Должно быть уникально в пределах сайта. Я не вижу рациональных путей, чтобы этого добиться.
...и менее гибко. -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
||||
|
|||||
IvanB |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 23.5.2005 Где: Irkutsk Репутация: 2 Всего: 5 |
А так что не подходит? --------------------
Закон отладки: Каждая последняя ошибка является предпоследней. |
|||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Ну вы издевеетесь все чтоли?
![]() ![]() Имя "Forum" при подходе:
создается динамически, что неудобно в использовании. -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
IvanB |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 23.5.2005 Где: Irkutsk Репутация: 2 Всего: 5 |
Вопрос - ты когда нибудь работал с классами в PHP? --------------------
Закон отладки: Каждая последняя ошибка является предпоследней. |
|||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
IvanB да, работал.
-------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Endeveit |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 2.6.2006 Репутация: 4 Всего: 7 |
Мне кажется, что это ты над всеми издеваешься.
Ещё мне кажется, что ты взялся за задачу, которая тебе не по зубам, т.к. сам не понимаешь чего ты хочешь "Машины делают машин! Какое извращение" (с) R2D2 "Звёздные войны. Эпизод 4."Ты уверен, что это был именно пхп и именно классы? ![]() Добавлено @ 15:29 Дружеский совет: всё-таки потрудись и попробуй последовать тому, что тут уже понаписали ![]() |
|||
|
||||
Azazel |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
Вобщем. исходя из вопроса топика "Как уничтожить функцию в РНР?" даю ответ который должен закрыть это обсуждение:
в РНР не предусмотрено механизмов для переназначения функции. Надеюсь это то что Вы хотели узнать |
|||
|
||||
Serkys |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 4 Всего: 22 |
Ну вы, блин, и флудеры.
Azazel, так и надо ![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
AztEK, про наследовние слышал?
Эьто то, что тебе надо. Динамическое задание модуля, одинаковые имена функций. Все, ноу проблем. |
|||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Mal Hack всё это я понял давно. Чтобы не было redeclaire cllass, нужно задавать уникальные имена производных классов и их объектов. Как это рационально реализовать, я не знаю...
-------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
А вдруг у разных модулей окажется класс с одинаковым именем? Я думаю разрегистрировать имя класса, как и функцию, невозможно... А делать статичное уникальное имя класса напряжно, посколько модули исать не только я буду. -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Подключаться то будут несколько модулей! В этом вся фишка... ![]() -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Это не есть верно. Может быть ты столкнулся с моей проблемой 2 года назад. Вот почитай: http://forum.vingrad.ru/index.php?showtopi...view=getnewpost |
|||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Нет, это не то... Ну ладно, видимо ничего лучше статичных идентификаторов не придумать...Всем спасибо за помощь...
-------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |