[modHelpers] Версия 3.5.0
Основной причиной выпуска этой версии было исправление бага с количеством отправителей почтового сообщения класса Mailer
. А чтобы два раза не вставать, добавлен ещё и функционал для работы со строками. Для этого добавлено 2 функции — string()
и str_concat()
.
string()
Данная функция позволяет выполнять манипуляции со строкой цепочкой методов.
$string = string('Some String') ->toLower() // some string ->replaceAll(' ', '_') // some_string ->replace('some', 'new') // new_string ->first(4) // new_ ->sha1(10) // cdabae2ca0 ->undo() // Some String ->wrap('<div>','</div>') // <div>Some String</div> ->erase(0, 5) // Some String</div> ->length(); // 17 echo $string->origin(); // Some String echo $string; // Some String</div>
Используемые методы можно посмотреть в документации (чуть позже) или непосредственно в классе.
str_concat()
Данная функция склеивает все указанные через запятую строковые аргументы в единую строку.
$dolar = 'dolar'; str_concat('Lorem', ' ipsum ', $dolar); // Lorem ipsum dolar
Комментарии ()
Вы должны авторизоваться, чтобы оставлять комментарии.
Сначала вообще не понял причём тут мой файлик в корне сайта и modHelpers, а потом вспомнил, что функционал компонента доступен везде, а значит инициализируется где-то очень рано и может что-то переопределяет важное, ошибки в самом файле функий не нашёл, Сергей, может Вы подскажете в чём может быть причина?
Удаляю компонент, всё прекрасно работает, ставлю заново, снова ошибка и только при запуске скриптов из консоли сервера.
А что за скрипт и в какой строке ошибка? Скорее всего в скрипте определяется одноимённая функция.
Ошибка возникает в строке 349, ну по крайней мере так в консоли написано
Ничего не работает.
Второе. Метод set() апдейтит таблицу users. Так как именно она является первой в цепочке. И не совсем понятно, зачем использовать её в качестве посредника. Запрашивайте сразу профиль
П.С. Имейте ввиду, что в целях оптимизации запросы ограничены 100 записями. Чтобы убрать это ограничение, нужно добавить метод limit(0). В следующей версии я скорее всего оберу это ограничение.
В предыдущем комментарии после копипаста забыл исправить ваш вызов метода set(). Прочитайте сами, какие параметры он принимает.
Исходя из того, что есть в документации должно быть
но нет
тоже ничего не дает.
В обычном плагине давно бы написал
и закончил бы на этом.
и сделали по аналогии для пользователей
Но данная конструкция не оптимальна. Вы делаете запрос по таблице пользователей, затем джойните с таблицей профилей, ограничиваете по таблице профилей, а потом пытаетесь обновить таблицу профилей. Т.е. зачитываете таблицу пользователей, а работаете только с таблицей профилей. Вопрос — зачем в этой конструкции нужна таблица пользователей? Именно на это я обратил Ваше внимание. Если Вас не устраивает моё замечание, просто проигнорируйте его и делайте как считаете нужным.
ps я даже сейчас, смотря на пример для ресурсов и на решение, аналогию прослеживаю с трудом. Очень по разному видимо мозг устроен. Спасибо еще раз.