насколько дорог этот обходной путь php downcasting - PullRequest
0 голосов
/ 13 ноября 2009

Этот вопрос относится к downcasting в php5

Насколько дорог этот обходной путь php downcasting?

Этот обходной путь php слишком дорогой?

Я повторил microtimes, и кажется, что это занимает 0,001. Интересно, может ли это быть проблемой в большом foreach?

public static function to($obj) {

    return unserialize(preg_replace(
    '/^O:\d+:\"(\w+)/',
    'O:' . strlen('this_class_name') . ':"' . 'this_class_name',
    serialize($obj)));
}

Решения, предложенные в http://php.net/manual/en/language.types.type-juggling.php комментариях, аналогичны.

Ответы [ 2 ]

2 голосов
/ 13 ноября 2009

Я действительно не думаю, что вы должны беспокоиться о том, насколько это дорого, а о том, что вы пытаетесь внедрить функциональность высокого уровня в язык программирования на уровне приложений. Это просто кажется очень плохой идеей.

Если в вашем веб-приложении требуется снижение производительности, возможно, PHP не лучший выбор для него. Однако я серьезно сомневаюсь, что даункинг действительно необходим , с лучшим дизайном вы можете избежать использования всего этого вместе.

2 голосов
/ 13 ноября 2009

Представляя время 0,001 (я полагаю, секунд), вы, кажется, ответили на свой вопрос о том, насколько дорогой является операция.

Что касается того, стоит ли это слишком дорого, я бы сказал, что лучше ответить на него, сравнив его с альтернативами.

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

Ваш фрагмент выглядит громоздким, и он выглядит как "toma at smartsemantics dot com" на странице PHP. Я пытаюсь выяснить, каким может быть ваш $obj, и небольшой контекст о вашей проблеме, чтобы выяснить, есть ли какие-либо альтернативы, не связанные с унынием.

Возможно, в PHP преднамеренно запрещено преднамеренно отговаривать людей от использования понижения. Это связано с тем, что конструкция ООП, которая требует его, имеет недостатки в соответствии с принципом подстановки Лискова.

...