|
|
|
| Есть 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');
?>
|
подскажите какой вариант будет работать быстрее, и сильная ли будет разница.
Заранее спасибо | |
|
|
|
|
|
|
|
для: FaStY
(17.06.2009 в 00:29)
| | Какой-то серьезной разницы, чтобы заботиться об этом специально вряд ли можно обнаружить. С точки зрения читабельности удобнее первый вариант. | |
|
|
|
|
|
|
|
для: cheops
(17.06.2009 в 13:00)
| | т.е. передача объектов, массивов, строк - это не влияет на скорость, ведь передаются тока ссылки на эти данные? | |
|
|
|
|
|
|
|
для: FaStY
(17.06.2009 в 13:06)
| | если будут передаваться не ссылки , а сами объекты, это станет влиять не на скорость, а на работоспособность кода. | |
|
|
|
|
|
|
|
для: 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')
;
|
| |
|
|
|