PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (3): [1] 2 3 »

> Найдено сообщений: 41
ole-martyno Отправлено: 27 Февраля, 2013 - 11:09:16 • Тема: Вопрос по созданию объектов • Форум: Объектно-ориентированное программирование

Ответов: 14
Просмотров: 3312
DeepVarvar пишет:
ole-martyno пишет:
Мой вопрос про быстродействие и какой способ(в моем первом сообщении) лучше.
Тогда вопрос не корректен, т.к. не может рассматриваться для всех случаев и ситуаций.


Вот как выглядит factory в кохановском Model:
PHP:
скопировать код в буфер обмена
  1.         public static function factory($name)
  2.         {
  3.                 // Add the model prefix
  4.                 $class = 'Model_'.$name;
  5.  
  6.                 return new $class;
  7.         }


Я спрашиваю, почему автор материалов, по которым я изучал фреймворк предпочитает
такой способ:
PHP:
скопировать код в буфер обмена
  1.         $users = Model::factory('users')->getAll();
  2. $online = Model::factory('users')->getOnlinemap();


а не такой:

PHP:
скопировать код в буфер обмена
  1. $model = Model::factory('users');
  2. $users = $model->getAll();
  3. $online = $model->getOnlinemap();
ole-martyno Отправлено: 27 Февраля, 2013 - 11:03:40 • Тема: Вопрос по созданию объектов • Форум: Объектно-ориентированное программирование

Ответов: 14
Просмотров: 3312
Цитата:
объект не создается много раз. он создается один раз, при первом обращении (в пределах всего приложения), а потом только возвращается фабричным методом.


Я думал, что это только в синглтоне объект "запоминается". Непонятно...

Цитата:
ps это вы еще какой нибудь орм не видели


видел, даже использовал. Я не понимаю причем здесь цепочки. Мой вопрос про быстродействие и какой способ(в моем первом сообщении) лучше.

Для справки, вот как выглядит метод factory в кохановском классе:

PHP:
скопировать код в буфер обмена
  1.         public static function factory($name)
  2.         {
  3.                 // Add the model prefix
  4.                 $class = 'Model_'.$name;
  5.  
  6.                 return new $class;
  7.         }
ole-martyno Отправлено: 27 Февраля, 2013 - 10:48:05 • Тема: Вопрос по созданию объектов • Форум: Объектно-ориентированное программирование

Ответов: 14
Просмотров: 3312
А где искать эту информацию? Я искал, но ответа толком не нашел.

Можно поподробнее ответить на сам вопрос) Я просто хочу толковый ответ получить)
ole-martyno Отправлено: 27 Февраля, 2013 - 10:28:20 • Тема: Вопрос по созданию объектов • Форум: Объектно-ориентированное программирование

Ответов: 14
Просмотров: 3312
Я использую с недавнего времени в своем проекте фреймворк Kohana, изучал его по видео и прочим материалам. Так вот, заметил такую стилистику использования метода factory, когда объект каждый раз создается заново:

PHP:
скопировать код в буфер обмена
  1.  
  2. $users = Model::factory('users')->getAll();
  3. $online = Model::factory('users')->getOnlinemap();
  4.  


вместо такого использования:

PHP:
скопировать код в буфер обмена
  1.  
  2. $model = Model::factory('users');
  3. $users = $model->getAll();
  4. $online = $model->getOnlinemap();
  5.  


Я не очень понимаю преимущества первого способа, хотя у меня есть предположения, что:
1. Красота кода
2. Экономия оперативной памяти

Но что если необходимо вызывать метод factory 10-20 раз? Стоит ли в этом случае использовать 1 метод? Или разница в скорости будет минимальна?
ole-martyno Отправлено: 10 Декабря, 2012 - 13:21:28 • Тема: Экранирование % в sprintf • Форум: Вопросы новичков

Ответов: 2
Просмотров: 1274
Классно=) Огромное спасибо!
ole-martyno Отправлено: 10 Декабря, 2012 - 12:52:48 • Тема: Экранирование % в sprintf • Форум: Вопросы новичков

Ответов: 2
Просмотров: 1274
PHP:
скопировать код в буфер обмена
  1.  
  2. $str = 'У %s было 10% акций';
  3. echo sprintf($str, 'Васи');
  4.  


Такой код выдает, естественно ошибку. Собственно, вопрос, как экранировать второй процент, чтобы sprintf воспринял его как просто процент. Заранее спасибо.
ole-martyno Отправлено: 15 Сентября, 2012 - 17:19:55 • Тема: Акселераторы и оптимайзеры • Форум: PEAR и PECL

Ответов: 2
Просмотров: 3489
Здравствуйте, вопрос такой: имеет ли смысл использовать несколько акселераторов на сайте. А может достаточно одного, например, eaccelarator. Или определенные связки.

Посоветуете какие решения лучше и эффективнее всего.

И еще версия PHP 5.3.x , я так понимаю Zend Optitmizer для 5.3 не существует?
ole-martyno Отправлено: 10 Сентября, 2012 - 20:23:47 • Тема: Не удаляются куки • Форум: Вопросы новичков

Ответов: 7
Просмотров: 305
Видимо проблема была в том, что куки создавались почему-то с путем не в корень "/" , а в "/ru/" сайт многоязычный.

Стал создавать куки в корень
PHP:
скопировать код в буфер обмена
  1.  
  2. setcookie('login', 'value', time()+60*60*24*7 , '/')
  3.  


они поддаются удалению.
ole-martyno Отправлено: 10 Сентября, 2012 - 15:31:18 • Тема: Не удаляются куки • Форум: Вопросы новичков

Ответов: 7
Просмотров: 305
Нет, не пашет. Я недавно перешел на PHP 5.3, может это в нем проблема? Фиг его знает. Удивительно, но после всех манипуляций Mozilla хранит правильные данные для входа, хотя что я только не пытался присвоить куке "login" и null и пустую строку и т.д. и т.п.
ole-martyno Отправлено: 10 Сентября, 2012 - 15:21:04 • Тема: Не удаляются куки • Форум: Вопросы новичков

Ответов: 7
Просмотров: 305
нет, не удаляются. Сейчас попробовал в другом браузере - Chrome, удалось изменить куки. А вот в Mozilla вообще не могу ниче с ними сделать! Ни новую переменную присвоить, не удалитьНедовольство, огорчение
ole-martyno Отправлено: 10 Сентября, 2012 - 15:10:52 • Тема: Не удаляются куки • Форум: Вопросы новичков

Ответов: 7
Просмотров: 305
На сайте созданы куки 'login' и 'password'

Как только не пытался их удалить

PHP:
скопировать код в буфер обмена
  1.  
  2. setcookie('login', '')
  3. setcookie('login', '', time() - 999)
  4. setcookie('login', '', time() - 999, '/')
  5.  


не выходит. Подскажите пожалуйста. Заметил, что путь к кукам не от корневой папки идет, может это играет какую-то роль?
ole-martyno Отправлено: 05 Мая, 2012 - 14:46:22 • Тема: Файл не загружается во временную директорию • Форум: Вопросы новичков

Ответов: 5
Просмотров: 281
Мелкий пишет:
Скорее, файл и не был загружен: http://php.su/phphttp/?uerrcodes


Что странно $_FILES['file']['error'] = 0, а is_uploaded_file($_FILES['file']['tmp_name']) = false
ole-martyno Отправлено: 05 Мая, 2012 - 13:54:56 • Тема: Файл не загружается во временную директорию • Форум: Вопросы новичков

Ответов: 5
Просмотров: 281
Проверка is_uploaded_file возвращает false, хотя обработчик печатает массив $_FILES, что может быть не так? Заранее спасибо за ответ.
ole-martyno Отправлено: 04 Мая, 2012 - 16:50:00 • Тема: Сессия не запоминает переменные • Форум: Вопросы новичков

Ответов: 10
Просмотров: 529
Да, видимо что-то с папкой хранения сессий

Warning: session_start() [function.session-start]: open(/sessions/sess_7290cb71aeeb6bf0127fded7716448a6, O_RDWR) failed: No such file or directory (2)
(Добавление)
Все, спасибо.
ole-martyno Отправлено: 04 Мая, 2012 - 16:32:18 • Тема: Сессия не запоминает переменные • Форум: Вопросы новичков

Ответов: 10
Просмотров: 529
Да, нет, ничего вроде не менял вот php.ini

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. [php]
  3. display_errors=1
  4. max_input_time=7200
  5. allow_url_fopen=0
  6. register_globals=0
  7. max_execution_time=7200
  8. safe_mode=1
  9. file_uploads=1
  10. allow_url_include=0
  11. session.save_path=/sessions
  12. default_charset=utf-8
  13. magic_quotes_gpc=0
  14. default_socket_timeout=120
  15. memory_limit=64M
  16. post_max_size=8M
  17. upload_max_filesize=8M
  18. extension_dir="/opt/php/lib/php/extensions/"
  19. extension=timezonedb.so
  20. extension=mbstring.so
  21. extension=iconv.so
  22. extension=mysql.so
  23. extension=session.so
  24. extension=json.so
  25. extension=ctype.so
  26. extension=filter.so
  27.  
  28. mysql.default_host=hol.mysql
  29. mysql.default_port=3306
  30.  

Страниц (3): [1] 2 3 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB