Павел Омельченко @pOmelchenko
php-developer
Информация
- В рейтинге
- Не участвует
- Откуда
- Подольск, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Бэкенд разработчик
Старший
PHP
Laravel
Symfony
PostgreSQL
MySQL
Nginx
Git
Docker
Linux
GPS тоже не сразу гражданским дали
Ой, промазал с ответом товарищу staticmain
UPD для пикабушников: Это Farming Simulator с включенным RTX
2020 как же ты утомил
Тогда уж с Чернегой, хотя у них совсем не про это, или Негодой, который хоть и про двигатели, но не про те :)
Потому что 7.1 и старше уже официально не поддерживаются, при этом 7.2 хоть и получает патчи безопасности, но в ноябре и она тоже прекратит поддерживаться.
https://www.php.net/supported-versions.php
По этому, можно было бы сказать о том, что «проект дорого переводить на 7+», но в комментариях о проблемах безопасности лучше уточнять, как мне кажется, что если и переезжать, то на актуальные версии. Это то что касается самого языка.
А по поводу эникейщиков это да. Фрэймворк может быть и без уязвимостей. Но это никак не защитит от эникейщика который может целенаправленно, по не знанию, включать что-то что станет той самой дырой, через которую и получится нанести какой либо ущерб.
Выводом этого трэда можно сделать следующее: обновляйтесь, при этом читайте что приедет в обновлении. Там могут быть как патчи безопасности, так и ломающие какое-то поведение. При этом следите за обновлением не только языка и библиотек в проекте, но и за остальными компонентами окружения. Потому что сюрприз может приехать с любой стороны.
Нигде, эти «секреты» должны передаваться через переменные окружения, а потом конфиг должен быть закеширован в виде огромного массива со статическими значениями https://laravel.com/docs/7.x/configuration#configuration-caching
Насколько помню файлик будет лежать в bootstrap/cache
Пардон, я был не прав, но я разобрался, по этому спасибо вам!
Системой контроля версий пользуемся, и CI, и CD.
Например, IDE может не оказаться под рукой, ушел по SSH на сервер чтобы на горячую произвести изменения «здесь и сейчас» и там у вас vim, или nano.
С IDE разработка, условно, выглядит как езда на автомате. Только когда приходится садиться за ручку, у некоторых, начинаются проблемы.
Нужно знать и уметь те инструменты которыми приходится работать. IDE хороший помощник, она берет львиную долю работы на себя. Но, я считаю, нужно так же уметь жить без нее.
Ну не, если «фонит» — значит надо чинить. Уже наловился таки сюрпризов при смене окружения во время переезда с непонятных серверов, на что-то более подконтрольное.
Но уже имею некоторые плоды. Был удивлен тому что:
этот код не скомпилируется. После PHP это была очень сочная оплевуха черенком грабель :)
С вашего позволения отвечу тут и на соседний комментарий.
Разница в том, что в обычных анонимках мы контролируем процесс передачи контекста в область видимости используя `use`, а в случае стрелки нас этого контроля лишили, прокинув в тело стрелки вообще всё. В каких-то моментах это может быть проблемой. И, повторюсь, одна инструкция на стрелку.
Но вот результат получается вовсе не тот о котором вы пишите:
Fatal error: Uncaught Error: Typed property A::$a must not be accessed before initialization in /in/kd90M:16
Stack trace:
#0 {main}
thrown in /in/kd90M on line 16
Process exited with code 255.
Код в песочнице: 3v4l.org/kd90M
Не исключаю что авторы в первых бетах реализовали что-то не так. Посмотрим как оно будет дальше. Но пока имеем, что есть.
в то время как
Это не говоря о том что стрелочные функции не могут содержать в себе более одной инструкции.
У меня опыта значительно меньше, но, как мне кажется, разница значительная.