В целом: не используйте static там где это не нужно. (сейчас прибежит LIME и скажет "никогда не используйте static")
Я люблю статик за то, что код становится как мне кажется более лаконичным, без создания экземпляра класса там где не нужно хранить каких то итогов или использовать его промежуточные результаты многократно.
Мелкий пишет:
Раз ищите теги всё равно регуляркой - сразу регуляркой их и заменяйте: preg_replace_callback. Зачем их потом искать ещё раз?
Мелкий пишет:
Взяли за основу синтаксис query param - ну и парсите их нативными средствами: parse_str
согласен, исправлюсь
Мелкий пишет:
Ни в коем случае. Это дико жрёт CPU.
а вот тут не совсем понял, что именно будет давать нагрузку?
К примеру если контент динамический, есть несколько десятков типов страниц (страница товара, страница html, страница категорий, страница новостей и мало ли еще какие) для генерации я планировал использовать этот класс, сначала на уровне шаблона, а потом на уровне крупных элементов в теле страницы (сомневаюсь что их будет больше 1-5 на одной странице).
В любом случае можно задействовать кэширование, но это уже другая песня. Интересно где именно будет цп грузиться я тоже думал об этом, но недопер видимо)) регулярка шустрая тем более искать там немного потом всё по сути переходит на switch и уже по нужной ветке верстается в момент. Или не так? (Добавление)
PS: есть еще вариант например в ленте новостей прогонять через шаблон каждую новость к примеру может тогда возрастет нагрузка? хотя не знаю
esterio пишет:
тоже когда-то страдал той же фигней и понял что лучше использовать тот же твиг и будет мне счастье. Вот почему я бы Вам рекомендовал использовать готовые решения. Но если рука чешеться написать хоть и не такое функциональное но свое, то вперед.
да функционал там широкий и часто не востребованный, я интересуюсь готовыми решениями, однако часто они дают непредсказуемую нагрузку (хотя и достаточно редко и даже когда дают бывает, что от кривых рук, а не из-за решения) (Добавление)
Использовал советы и совсем лаконично получилось, правда от статиков не ушел) ну уж очень они мне нравятся
Не так давно меня попросили добавить возможность на сайте интернет магазина вставлять информацию об одном товаре в описание другого (описание хранится в бд в виде текста). Я не долго думая написал класс для замены в html описании вхождений типа {%commandName?param1=x¶m2=y%} на то что я хочу.
Сегодня я пошел дальше и решил написать класс который бы позволял все это использовать где угодно (для генерации шаблона, описания и всего чего только душа желает), как в шаблоны в популярных движках.
Как итог я получил класс, от которого наследуется пользовательский класс и в нем пишется только реализация самих команд. Правда пришлось использовать позднее статическое связывание(http://php.net/manual/ru/languag...tic-bindings.php ) с которым я раньше не работал и не знаю, что от него можно ожидать.
Хотел спросить ваше мнение, кто что думает по поводу реализация, применения, подводных камней?
PS: У меня на него большие планы (в плане использования) поэтому интересуюсь вашим мнением, надеюсь камнями не забросаете). Может еще кому будет полезен.
PS2: планирую на его основе переписать генерацию страниц на сайте.
А не проще просто перенаправить запросы через .htaccess на index.php и там смотреть переменную $_SERVER['REQUEST_URI'] которая всегда будет верной? (Добавление)
.htaccess:
Нужна библиотека для OpenId, нашел какой то старый видимо для первых версий класс, расковырял его, вытащил то что нужно, и вот дошел до этапа получения подтверждения от сервера, что да всё хорошо это тот парень за кого себя выдает.
Мне нужно сделать последний запрос к серверу который должен вернуть:
Надеюсь, не просто begin/commit, а с пониманием где и что будет на конкурентном доступе?
Я вот тут более подробно писал: https://toster[dot]ru/q/273073#answer_716337
Прочитал Ваш пост, да эти грабли я использовал как ключ в одной игрушке к бесконечному балансу))
только там был косяк еще глубже баланс в минус загонялся при небольшом ддосе ну собственно та ситуация которая описана в посте.
Кстате подобную задачку я где то пару лет назад завалил на собеседовании)) (Добавление)
Спасибо за советы
Нужно найти дубли пройдясь по всему файлу, после 5-го и до 6-го разделителя, условно говоря определенный кусок (выделил жирным шрифтом дубли).
Собственно код ниже, выводит везде "Совпадений нет". Подскажите, в чем моя ошибка?
А не проще прогнать весь файл через preg_match (10 Мбайт меньше чем за секунду прогонит) например вот так:
Запарился с тем, как сделать такие флажки для N слушателей (каждый флажок же должен иметь уникальный идентификатор) и как далее обработать эти флажки для фиксации посещения в базе.
Добрый день,
(сайт пока находится в проектировке)
сайт связан с платежной системой, пользователь обладает своим балансом и может распоряжаться средствами на покупку услуг, товаров на сайте.
Все операции через транзакции, база MySQL.
Как правильно было бы хранить баланс пользователя в общей таблице users?
Или как то иначе? (например вообще не хранить баланс, а хранить только транзакции и рассчитывать баланс исходя из транзакций проведенных этим пользователем, каждая транзакция содержит остаток на счете, а при расчете баланса проверять информацию по 5 последним транзакциям, и в случае любой несостыковки блокировать кошелек)
Реальные деньги подстегивают еще раз подумать о безопасности))
в папке сервера сделайте поиск "php.ini" в этой файле поиск найдете ваш флаг и установите нужное значение.
Если у вас openserver тогда конфигурационный файл находится в папке userdata далее выбираете ту версию php которую используете и редактируете требуемый файл.
Далее перезапускаете сервер и вуаля.
А так можно сделать через eval() и file_get_contents():
Так же обязательно на том сервере с которого будете грузить файл он не должен исполняться, если он имеет расширение php то можно это настроить в .htaccess, или просто поменять расширение.
Сам никогда этого не делал в принципе это не очень безопасно. Лучше подгружать результат работы скрипта, а не сам код. Делая сам код публичным вы создаете уязвимость для своего ресурса.