САМОУЧИТЕЛЬ PHP 4




ÓСловно определяемые функции - часть 2


    return 1;

  }

}

Этот способ работает независимо от того, появится ли вдруг в будущих версиях PHP для Windows "заглушка"

для функции chown(), или же нет. (Нужно сказать для справедливости, что в PHP версии 4 такая заглушка  уже существует.)

Знатоки Си могут заметить в приеме условно определяемых функций разительное сходство с директивами условной компиляции этого языка: #ifndef, #else и #endif. Действительно, аналогия почти полная, за исключением того факта, что в Си эти директивы обрабатываются во время компиляции, а в PHP — во время выполнения. Что ж, на то он и интерпретатор, чтобы позволять себе интерпретацию.

То, что возможно создавать условно определяемые функции, сильно подрывает веру в PHP как в истинный транслятор. Как вообще можно устроить транслятор так, чтобы он правильно обрабатывал подобные вещи? Я не знаю. Надеюсь, что разработчики PHP нашли-таки способ, и условно определяемые функции транслируются вместе со всей программой, а не на этапе исполнения, как это было в PHP версии 3. Однако полной уверенности в этом нет, а документация по этому поводу молчит (пока).




Содержание  Назад  Вперед