Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Какой вариант использования классов работает быстрее?
 
 автор: FaStY   (17.06.2009 в 00:29)   письмо автору
 
 

Есть 2 варианта использования класса:
1) обычное
<?php
$class 
= new NewClass();
$class->set('name''Mike');
$class->set('surname','Myers');
?>

2) Fluent Interface
<?php
$class 
= new NewClass();
$class->set('name''Mike')->set('surname','Myers');
?>

подскажите какой вариант будет работать быстрее, и сильная ли будет разница.
Заранее спасибо

  Ответить  
 
 автор: cheops   (17.06.2009 в 13:00)   письмо автору
 
   для: FaStY   (17.06.2009 в 00:29)
 

Какой-то серьезной разницы, чтобы заботиться об этом специально вряд ли можно обнаружить. С точки зрения читабельности удобнее первый вариант.

  Ответить  
 
 автор: FaStY   (17.06.2009 в 13:06)   письмо автору
 
   для: cheops   (17.06.2009 в 13:00)
 

т.е. передача объектов, массивов, строк - это не влияет на скорость, ведь передаются тока ссылки на эти данные?

  Ответить  
 
 автор: Trianon   (17.06.2009 в 21:48)   письмо автору
 
   для: FaStY   (17.06.2009 в 13:06)
 

если будут передаваться не ссылки , а сами объекты, это станет влиять не на скорость, а на работоспособность кода.

  Ответить  
 
 автор: Trianon   (17.06.2009 в 21:45)   письмо автору
 
   для: cheops   (17.06.2009 в 13:00)
 

Вообще-то повторное вычисление никакой код не красит, и если без него можно обойтись , это нужно сделать.
К примеру, здесь хорошо видно, что будет выполняться не то, что планировалось.
<?
$classList
[$i++]->set('name''Mike');
$classList[$i++]->set('surname','Myers');



От повтора кода можно избавиться без ущерба для читаемости, если написать код так:
<?
$class 
= new NewClass();

$class->set('name''Mike')
      ->
set('surname','Myers');


или даже так
<?
$class 
= new NewClass();

$class
     
->set('name''Mike')
     ->
set('surname','Myers')
     ;

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования