В настоящее время я переношу свой сайт с 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.