diff --git a/source/_articles/.editorconfig b/source/_articles/.editorconfig new file mode 100644 index 0000000..236abae --- /dev/null +++ b/source/_articles/.editorconfig @@ -0,0 +1,2 @@ +[*.md] +max_line_length = 80 diff --git a/source/_articles/php-serialization.md b/source/_articles/php-serialization.md index 8ccbf3c..60d9d2d 100644 --- a/source/_articles/php-serialization.md +++ b/source/_articles/php-serialization.md @@ -6,13 +6,14 @@ keywords: [php, serialization] # Сериализация в PHP -В PHP есть две функции для сериализации и десериализации данных: `serialize()` и `unserialize()`. -Функции встроены в язык, не требуют дополнительных модулей. +В PHP есть две функции для сериализации и десериализации данных: +`serialize()` и `unserialize()`. Функции встроены в язык, +не требуют дополнительных модулей. -В один момент кто-то решает использовать их для долговременного хранения объектов. -В базе данных, на диске, еще где-то. +В один момент кто-то решает использовать их для долговременного +хранения объектов. В базе данных, на диске, еще где-то. -``` +```php namespace Test\Serialize; class A {} @@ -24,8 +25,8 @@ serialize($a); И тут начинаются проблемы. -Дело в том, что при сериалзации объектов классов кроме самих данных объекта сохраняется еще и информация о классе. -Его имя, пространство имен. +Дело в том, что при сериалзации объектов классов кроме самих данных +объекта сохраняется еще и информация о классе. Его имя, пространство имен. Результатом сериализации в примере выше будет: @@ -33,10 +34,11 @@ serialize($a); O:16:"Test\Serialize\A":0:{}O:16:"Test\Serialize\A":0:{} ``` -Если теперь произвести рефакторинг, переместить класс, изменить пространство имен, то десериализация уже не сработает. +Если теперь произвести рефакторинг, переместить класс, +изменить пространство имен, то десериализация уже не сработает. И будет больно. Не делайте так. -Контролируйте процесс сериализации. Например используйте JSON и специальные +Контролируйте процесс сериализации. Например, используйте JSON и специальные функции для превращения объекта в массив и обратно.