Pull to refresh
9
0
Максим @ProgrammSM

Web-разработчик

Send message

Читайте документацию. Там всё довольно просто и понятно описано

Если поместить данные в переменные окружения ОС или веб-сервера, тогда ничего дополнительно даже подключать не нужно. :)

Пара мелочей, как дополнение на тему, что можно сделать ещё:

  1. По поводу конфига. Можно сделать чуть интереснее. Вместо хардкода значений в скрипте использовать переменные окружения. А сами значения вынести или в .env файл (под .gitignore) или на веб-сервер или на уровень ОС. Таким образом в коде получится просто getenv('DB_NAME');, getenv('DB_HOST'); и тд. Это чуть сложнее, чем в вашем варианте. С другой стороны код будет выглядеть полноценным, настраивать который в разных окружениях возможно разными способами. На мой взгляд это предпочтительнее, чем проверять или надеяться на существование файла с конфигом.

  2. Если нужно просто проверить существование пользователя (или любой другой сущности) без необходимости получать саму запись, тогда select * будет лишним. Полей может быть сколько угодно в таблице и нет смысла получать их все для простой проверки. Достаточно ограничить выборку полем id или иным легковесным. Или просто указав select 1 from ... where ... Который вернёт только единицу, если запись существует.

Это утверждение о "смерти" может быть справедливо разве что для каких-то отдельных регионов в мире. С RoR в пределах РФ не часто сталкивался, в отличии от PHP. А вот на проектах далеко за пределами РФ напротив RoR попадался чаще и появляются такие диковинки, как проекты на Elixir, которых в российской среде ни разу не видел вживую.

Поддержу. Если мне самому презентации не нужны и обычно хватает базового домашнего пакета, то моему ребёнку для школы не редко приходится с ними работать. Приходится в таких случаях использовать офис онлайн от Microsoft.

Можно было бы достаточно просто уйти от решений Microsoft, если бы презентации были доступны в домашнем пакете или была бы простая и прозрачная возможность физ лицам покупать расширенный пакет, без посредников, со всякими формами обратной связи, рассчитанных на юр. лиц. Но её пока нет.

Помимо рефлексии можно ещё через Closure с замыканием:

$closureBind = Closure::bind(function &(SomeClass $someClass) {
            return $someClass->privateProperty;
        }, null, $someClass);
$privateProperty = &$closureBind($someClass);


$privateProperty в данном случае будет содержать ссылку на приватное свойство, которое можем смотреть и изменять. Работает, к слову, быстрее рефлекции.

Information

Rating
Does not participate
Location
Россия
Registered
Activity