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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как можно использовать объект в функции 
:(
    Опции темы
Gold Dragon
Дата 20.12.2011, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



убедился что для базы нужно иметь собственный класс smile Функции мало


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
krundetz
Дата 20.12.2011, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

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



Цитата(Gold Dragon @  20.12.2011,  13:49 Найти цитируемый пост)
убедился что для базы нужно иметь собственный класс smile Функции мало 

хотелось бы услышать аргументы за и против, на которых основана ваша убежденность


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
MoLeX
Дата 20.12.2011, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Цитата(krundetz @  20.12.2011,  13:37 Найти цитируемый пост)
И ты мне не ответил ничего про балансировку нагрузки на БД.

в основном кэшируем результат. 
если он большой по объему и хранить его надо долго - в файл пишем, если маленький и часто обновляется в мемкэш


Цитата(krundetz @  20.12.2011,  13:54 Найти цитируемый пост)
Цитата(Gold Dragon @  20.12.2011,  13:49 Найти цитируемый пост)
убедился что для базы нужно иметь собственный класс smile Функции мало 

хотелось бы услышать аргументы за и против, на которых основана ваша убежденность 

лично нам не хватало лога sql запросов со временем выполнения


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
krundetz
Дата 20.12.2011, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

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



Цитата(MoLeX @  20.12.2011,  14:01 Найти цитируемый пост)
если он большой по объему и хранить его надо долго - в файл пишем

тоесть создаете полностью статичный контент? или сериализуете модель?
Цитата(MoLeX @  20.12.2011,  14:01 Найти цитируемый пост)
если маленький и часто обновляется в мемкэш

это понятно, но я спрашивал немного не про это, я спрашивал вы используете один или больше серверов БД и как балансируете нагрузку между ними?


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Gold Dragon
Дата 20.12.2011, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



Цитата(krundetz @  20.12.2011,  14:54 Найти цитируемый пост)
хотелось бы услышать аргументы за и против, на которых основана ваша убежденность 

Ну это больше вопрос что лучше использовать функции или классы. Извечная война предпочтений  smile . Я предпочитаю классы. Все приятно когда всё в одном месте. И удобнее (нагляднее) код. Ну а если из практичного, то например разрешение проблем имён. Кто сказал что больше нигде в проекте не встретится функция getResult() или update() особенно когда проект достаточно большой... ;)


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
MoLeX
Дата 20.12.2011, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Цитата(krundetz @  20.12.2011,  15:49 Найти цитируемый пост)
тоесть создаете полностью статичный контент? или сериализуете модель?

в основном статичный контент. 

Цитата(krundetz @  20.12.2011,  15:49 Найти цитируемый пост)
я спрашивал вы используете один или больше серверов БД и как балансируете нагрузку между ними? 

единственный раз использовали N серверов, и то не я настраивал.
все остальные БД пока что нормально живут, правда на отдельном сервере)


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
MoLeX
Дата 13.1.2012, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Решил переложить функционал своей ф-ции на многими не любимый __autoload()

test.php
Код

<?php
class test
{
    var $time;
    
    function __construct()
    {
        $this->time = microtime(true);
    }
    
    
    function t()
    {
        echo $this->time.'<br>';
    }
}


index.php
Код

<?php
function __autoload( $class )
{
    static $obj = array();

    if( ! isset( $obj[$class] ) )
    {
        require $class . '.php';
        $obj[$class] = new $class();
    }

    return $obj[$class];
}

$t0 = new test();
$t0->t();

sleep( 1 );

$t1 = new test();
$t1->t();


В итоге статический массив не срабатывает, как оказывается из-за бага датированного 2005 годом

Добавлено через 2 минуты и 12 секунд
Так же не срабатывает такой пример
index.php
Код

function __autoload( $class )
{
    return load_class( $class );
}

function load_class( $class )
{
    static $obj = array();

    if( ! isset( $obj[$class] ) )
    {
        require V_LIBRARY . $class . '.php';
        $obj[$class] = new $class();
    }

    return $obj[$class];
}

$t0 = new test();
$t0->t();

sleep( 1 );

$t1 = new test();
$t1->t();



а вот такой уже работает
Код

function autoload( $class )
{
    return load_class( $class );
}

function load_class( $class )
{
    static $obj = array();

    if( ! isset( $obj[$class] ) )
    {
        require V_LIBRARY . $class . '.php';
        $obj[$class] = new $class();
    }

    return $obj[$class];
}

$t0 = autoload('test');
$t0->t();

sleep( 1 );

$t1 = autoload('test');
$t1->t();


 smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
ksnk
Дата 13.1.2012, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



Код

function __autoload( $class )
{
    require V_LIBRARY . $class . '.php';
}

а такое будет срабатывать?
__autoload вообще-то ничего не возвращает, он просто обеспечивает подгрузку несуществующего пока класса, так что мастерить из него синглтон не корректно.

Это сообщение отредактировал(а) ksnk - 13.1.2012, 09:55


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
MoLeX
Дата 13.1.2012, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Цитата(ksnk @  13.1.2012,  09:44 Найти цитируемый пост)
а такое будет срабатывать?

будет)

Цитата(ksnk @  13.1.2012,  09:44 Найти цитируемый пост)
__autoload вообще-то ничего не возвращает, он просто обеспечивает подгрузку несуществующего пока класса, так что мастерить из него синглтон не корректно.

да, да. ты прав. лечиться мне уже надо smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
krundetz
Дата 13.1.2012, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

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



Цитата(MoLeX @  13.1.2012,  08:48 Найти цитируемый пост)
Решил переложить функционал своей ф-ции на многими не любимый __autoload()

 smile  smile  smile 

а почему не любимый? по мне так очень удобно

Это сообщение отредактировал(а) krundetz - 13.1.2012, 15:34


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
ksnk
Дата 13.1.2012, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



Цитата(krundetz @  13.1.2012,  15:34 Найти цитируемый пост)
а почему не любимый? по мне так очень удобно

Цитата

spl_autoload_register() предоставляет более гибкую альтернативу для автоматической загрузки классов. По этой причине использовать __autoload() не рекомендуется, а сама функция в будущем может перестать поддерживаться или быть удалена.

отсюда

Подключать сторонние плагины может оказаться проблематично, если каждый из них пожелает переопределить __autoload. Типичная проблема с глобальными сущьностями


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
krundetz
Дата 13.1.2012, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

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



Цитата(ksnk @  13.1.2012,  15:39 Найти цитируемый пост)
отсюда

думал отвергаются все autoload, даже те которые появились в 5.3


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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