В настоящее время я перевожу свой сайт с PHP5 на PHP7, и я начал использовать функцию строгой типизации, которая была добавлена. Однако для этого необходимо, чтобы я начал все файлы со следующей строки:
<?php declare(strict_types=1);
// All other code here
// ...
Вот мне и стало интересно, есть ли способ включить strict_types
глобально используя что-то вроде php.ini
или файл конфигурации apache, чтобы мне не приходилось каждый раз писать эту строку, и если да, то как я могу включить это?
Это намеренно невозможно, потому что реализация, принятая после очень долгое обсуждение из подсказок скалярного типа был этот: https://wiki.php.net/rfc/scalar_type_hints_v5
Он явно дает выбор того, как скалярные типы проверяются вызывающей стороной любой функции, а не ее автором, так что:
Поэтому вы должны сообщить PHP, какие файлы были написаны для использования режима строгого типа, а какие нет; и способ сделать это с помощью declare
заявление.
По сути нет.
Потому что, если вам нужны только библиотеки, которые используют строгий режим, вы вызовете ненужное разделение пакетов.
Также учтите, что опция строгих / слабых типов — это просто дополнительный элемент в PHP.