21 ошибка программиста PHP. Часть 2 - Программирование на php как на другом языке

ОГЛАВЛЕНИЕ

9. Программирование на php как на другом языке

Многие приходят в PHP уже с большим опытом программирования в другом языке, как PERL, C, Java или (ну это ещё куда ни шло) ASP. И частенько "импортируют" техники и подходы, которые не всегда хорошо сочетаются с методиками PHP.

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

При таком подходе очень часто на выходе мы получаем медленный и трудно поддерживаемый код. И такие случаи не редкость:

  • "однострочники" PERL. PHP - язык мало приспособленный к так называемому методу - "всё в одной строке". Рекомендуем разбивать сложные хитросплетения комбинированных функций и представлять их в более структурированном виде.
    Perl
    while () { 
    @_ = split /:/;
    $quotes{shift} = shift;
    }
    print map { "$_: ", reverse split //,$quotes->{$_},"\n"; } keys %quotes;

    PHP

    <?php

    $fp
    = @fopen('php://stdin', 'r');
    if (!
    $fp) {
        die (
    'Сбой при открытии STDIN');
    }

    while (
    $line = @fgets ($fp, 1024)){
        list(
    $name, $quote) = explode (':', $line);
        
    $quotes[ $name ] = $quote;
    }

    foreach (
    $quotes as $name => $quote){
        print
    "$name: ";
        print
    implode (" ", array_reverse (preg_split ('//', $quote)));
        print
    "\n";
    }

    @
    fclose ($fp);
    ?>

  • Уклонение от встроенных функций: Многие PHP-программисты, пришедшие из C, кажется, не понимают того, что PHP содержит целую армию встроенных функций. Их цель - избавить вас от километровых скриптов. Если вы раньше писали на C, вам настоятельно рекомендуется изучить техническое описание PHP и узнать, какие функции PHP вам может предложить и тем самым облегчить вам жизнь.
  • Переименование стандартных функций PHP: некоторые программисты переименовывают стандартные функции PHP только для того, чтобы легче их запоминать. Это не только снижает скорость выполнения скрипта, но и затрудняет чтение кода.
  • Неоправданное использование ООП: PHP - не объектно-ориентированный язык, хотя некоторая поддержка объектов всё-таки имеется. И всегда стоит помнить, что использование функций поддержки ООП значительно снижает скорость выполнения скрипта.

Где можно почитать об "изящном стиле" программирования на PHP

На ваше счастье Инет просто забит статьями о том, как правильно программировать на PHP.