«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2019/08/15 22:26:33  №1454210 1
Объясните мне как решить проблему при выводе символа строки через квадратные скобки, если строка написана кирилицей, кодировка слетает и выводит какую-то хуйню, вот пример: https://ideone.com/wMhDPb
Ответы: >>1454243 >>1455475
Аноним 2019/08/16 00:17:38  №1454243 2
>>1454210
Квадратные скобки выводят байт, а не символ. Из-за этого возникает проблема, потому что utf это многобайтовая кодировка. Используй mb_substr()
Ответы: >>1454251
Аноним 2019/08/16 01:32:15  №1454251 3
>>1454243
Спасибо, теперь разобрался.
Аноним 2019/08/18 02:10:55  №1455475 4
>>1454631

Работать с формой регистрации/обновления данных будет в разы удобнее при наличии объекта. Ты хочешь хранить данные в массиве, но давай сравним эти 2 подхода:

- структура объекта, какие у него есть поля, описаны в коде, к ним можно писать комментарии, а структура массива - нет
- в объекте могут быть методы
- в объекте можно использовать приватные поля и инкапсуляцию
- на объект можно поставить тайп-хинт с указанием класса, на массив - только хинт array без описания структуры

Таким образом, код будет удобнее читать.

>>1454326

Если запрос выбирает одну строку по ключу, то это не проблема. Сделай тест - скорее всего MySQL может делать тысячи таких запросов за секунду.

Можно кешировать данные в редисе, но это неоправданно если у тебя этим пользуется один админ, а не тысячи пользователей.

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

>>1454210

Вот на всякий случай урок по строкам и utf-8: https://github.com/codedokode/pasta/blob/master/php/strings-utf8.md

>>1453649

Да, такая проблема есть, но она не в менеджере пакетов. Например, ты можешь вручную скачать библиотеки версий 1.4 и 1.5, но ты не сможешь их подключить из-за одинаковых имен классов. В JS эта проблема решается тем, что там есть модули и нет требования к уникальности имен классов.

>>1453656

Сделать каталог public корневым (DocumentRoot). Это самый надежный способ.