PHP-BE1
311 subscribers
338 photos
11 videos
19 files
620 links
Канал по PHP, полезный и интересный контент для всех уровней.
По вопросам сотрудничества @cyberJohnny
Download Telegram
#advanced

Автор phpstan рассказывает, как создавать собственные правила для решения специфических проблем в вашем проекте.

https://phpstan.org/developing-extensions/rules
#advanced

Список полезных тем для проектирования сложных систем: виды репликаций, кэширование, асинхронная обработка задач (очереди, демоны), протоколы, CDN, конечная согласованность и многое другое.

https://github.com/donnemartin/system-design-primer
#advanced

Laravel | Route Model binding in Laravel

В статье рассказано, что такое Route-Model Binding, как его использовать и настраивать.

https://dev.to/arifiqbal/route-model-binding-in-laravel-4amk
Архитектура веб-приложения PHP

#skills
https://php.zone/php-dlya-professionalov/upravlenie-pamyatyu-v-php

Сегодня разговор пойдёт о том, каким образом в PHP реализовано хранение данных в памяти и о том, что же на самом деле скрывает за собой довольно простой код.

#skill
☝️Что такое Memcache и Memcached в PHP? Возможно ли разделить один экземпляр Memcache между несколькими проектами PHP?

Memcached - это эффективный демон кэширования, разработанный специально для снижения нагрузки на базу данных в динамических веб-приложениях. Модуль Memcache предлагает удобный процедурный и объектно-ориентированный интерфейс для Memcached.

Memcache - это пространство для хранения данных, и Memcache можно запускать на одном или нескольких серверах. Следовательно, можно совместно использовать один экземпляр Memcache между несколькими проектами.

Можно настроить клиент для общения с отдельным набором экземпляров. Поэтому также допускается запуск двух разных процессов Memcache на одном хосте. Несмотря на то, что они выполняются на одном хосте, оба таких процесса Memcache остаются независимыми, если нет разделения данных.

PHP-BE1

#info
☝️Как достигается типизация в PHP?

Имя выходного типа должно быть указано в круглых скобках перед переменной, которая должна быть приведена. Вот некоторые примеры:

▫️(массив) - приведение к массиву
▫️(bool), (boolean) - преобразует в Boolean
▫️(double), (float), (real) - приводит к плаванию
▫️(int), (integer) - приводит к целому числу
▫️(объект) - приведение к объекту
▫️(строка) - приводит к строке

PHP-BE1

#skill
https://www.internet-technologies.ru/articles/razbiraemsya-s-opcache.html

PHP версии 5.5 уже имеет встроенный движок кэширования - OpCache - который сохраняет в памяти прекомпилированный байт-код скрипта. Если вы знакомы с APC или XCache, вы уже имеете представление о том, как такие движки работают. Как каждый скрипт PHP компилируется во время выполнения, часть времени выполнения уходит на то, чтобы преобразовать понятный человеку код в код, который был бы понятен машине.

#skill
https://php.zone/oop-v-php-prodvinutyj-kurs/php-reflection-api-uchimsya-primenyat

Поговорим для начала о том, что же вообще такое рефлексия (от англ. reflection - отражение) в программировании. Этот термин пришёл к нам из психологии. Там данное слово означает способность человека к самоанализу, оценке своих поступков, мыслей и прочего вот этого всего. Кроме того, человек в процессе всего этого может ещё и изменять свою точку зрения, что приведёт к изменению его поведения.

#info
https://bool.dev/blog/detail/grasp-printsipy

GRASP - general responsibility assignment software patterns — общие шаблоны распределения ответственностей. GRASP шаблоны, используемые в объектно-ориентированном проектировании для решения общих задач по назначению ответственностей классам и объектам.

#info
Forwarded from Хакер_BE1
https://medium.com/nuances-of-programming/компилятор-vs-интерпретатор-ключевые-отличия-ef14a2aa0ee6

Интерпретаторы и компиляторы отвечают за преобразование языка программирования или сценариев (язык высокого уровня) в машинный код. Но если обе программы делают одно и то же, чем они различаются? Давайте разберемся.

#info
https://vpsadm.ru/raznitsa-mezhdu-rezhimami-php/

Часто приходится объяснять клиентам что за режимы работы PHP для сайтов. Знаете, в настройках той же панельки ISPmanager Lite 5 имееются такие. И еще люди говорят — вот, там же PHP 7 — а ты впариваешь свой php-fpm, который только версии 5.4 или 5.6. И они не понимают, что режим работы гораздо важнее для производительности, чем просто версия PHP.

#info