Допустим мы получили данные о текущем состоянии счёта пользователя (по первичному ключу) из mysql, выполнив запрос:

SELECT * FROM `balance` WHERE `user_id` = 1;

Теперь, когда мы знаем сколько у пользователя на счету, нам, например, нужно добавить на счёт определённую сумму. Считаем новую сумму и отправляем запрос на обновление строки:

Чтобы объекты, указанные в конструкторе класса создавались и подгружались автоматически можно использовать autowiring в контейнере зависимостей от symfony.

Устанавливаем DI компонент от symfony:

composer require symfony/dependency-injection

Описываем зависимости:

// создаём строитель контейнера
$container = new \Symfony\Component\DependencyInjection\ContainerBuilder();

// добавляем публичные зависимости с автозагрузкой
$container->autowire(Config::class)->setPublic(true);
$container->autowire(Database::class)->setPublic(true);

// компилируем контейнер
$container->compile();

Опишем простой класс Config, которые берёт настройки из внешнего файла:

See, look, watch

#en

See - видеть. Полностью осознанно видеть, заметить глазами или изучать или обратить внимание на что-то, кого-то. Обычно коротко, типа "Видел ту девушку?".

Look - смотреть. Направлять взгляд в сторону чего-то, обычно, неподвижного. Рассматривать что-то, а не следить за чем-то. Look at.

Watch - смотреть. Направлять взгляд на что-то и наблюдать за происходящим. Смотреть видос, присматривать за ребенком.

Say - сказать, говорить. Высказаться, коротко, без обратной связи.

Tell - говорить, рассказывать. Рассказать историю, сообщить больше информации чем say, но так же без обратной связи, в форме монолога.

Speak - разговаривать, говорить. Вести диалог с кем-то. Speak with. Например, с начальником. А ещё speak english.

Tolk - разговаривать, говорить. Тоже вести диалог с кем-то, но менее формально. Tolk to. Например, с приятелем.

Можно добавить пользовательские обработчики с помощью следующих функций.

В конце работы скрипта:

void register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )

При ошибке:

mixed set_error_handler ( callable $error_handler [, int $error_types = E_ALL | E_STRICT ] )

При исключении:

callable set_exception_handler ( callable $exception_handler )
/**
 * @SuppressWarnings(PHPMD.UnusedFormalParameter)
 */

Unused code:

  • UnusedPrivateField
  • UnusedLocalVariable
  • UnusedPrivateMethod
  • UnusedFormalParameter

Naming:

  • ShortVariable
  • LongVariable
  • ShortMethodName
  • ConstructorWithNameAsEnclosingClass
  • ConstantNamingConventions
  • BooleanGetMethodName
  • VariableNamingConventions
  • MethodNamingConventions
  • ClassNamingConventions
  • AbstractNaming
  • AvoidFieldNameMatchingTypeName
  • AvoidFieldNameMatchingMethodName
  • NoPackage
  • MisleadingVariableName

Design:

  • ExitExpression
  • EvalExpression
  • GotoStatement
  • NumberOfChildren
  • DepthOfInheritance
  • CouplingBetweenObjects
  • DevelopmentCodeFragment

Controversial:

Страницы