Алексей Лебедев: может быть не стоит создавать 100 обработчиков? На странице 100 кнопок? Окей, у каждой прописываем нужный date-foobar=".." и class="action-something", а потом вешаемся как-то так:
$('body').on('click', '.action-something', function(){
var button_data = $(this).data('foobar');
...
}
Юрий Молотов: Вадим Тимофеев: ага. В одной гос.конторе мне прямо сказали: "Если бы к вас было высшее образование.. ну хоть какое-то, хоть ПТУ, у вы получили бы +30% к окладу, а пока у вас его нет, вы не считаетесь лояльным государству"
Задача в общем-то решилась сама после просмотра исходных данных.
На деле там не гиговая json-запись (как меня изначально пугали), а гигабайт сравнительно коротких (до 10 килобайт) строк, которые великолепно разбираются json_decode().
Дмитрий: я наверное плохо сформулировал свою мысль... но я понимал так:
Вот у меня есть самописная CMS. Вот у меня есть куча функций, контент из базы собирающих (model типа), а вот есть куча функций, контент оформляющих для вывода (типа view).
Вот есть один вариант конечного представления, а вот другой. Model один и тот же везде, а view в частично перекрываются.
Я так подумал - ну а чо, почему б не сделать это с ООП? Собрал все model под одной крышей - мне стало тупо удобнее их вызывать:
$ x = new SampleModel();
$ y = $x-> prepareAuthorsList();
$ v = new TemplateXYZ(); (который наследуется от TemplateBase)
$ w = $v-> showAuthors ($y);
понятно, названия совершенно условны :)
а не "printAuthorsListFromDBforBootstrapTemplate( мульон параметров )"
Собрал. Стало тупо удобнее. При этом в процессе сбора выяснилось, что часть "вьюшных" функций в разных вьюшках ничем не отличаются - грубо говоря, и там я сам выводят
*{}
, только в разные хтмл-темеплейты. Ну и толку их дублировать? В предка, в предка, пускай там живут и каши не просят.
Понимание ООП лучше начинать совсем с других вещей. Меня вымораживают эти оторванные от реальности уроки типа звери, звери бегают, цветные звери бегают, цветные звери в зоопарке бегают.
Я бы посоветовал человеку начинать с инкапсуляции. Как сам начинал :) Просто сбор функций, работающих с одной сущностью, под одной крышей.
SilverSlice: "Будет достаточно, только запросы на изменение данных нужно делать через POST."
Кстати, а почему? Почему inval() не будет достаточно при запросах типа /item.update.php?id=5&newvalue=10 ?
SilverSlice: ах да, StewardDB я даже ковырять не буду (сейчас точно, ибо лень), он используется в закрытой локалке... совсем закрытой, настолько, что доступ к определенному урл внутри сети разрешен со строго определенного IP.
FanatPHP: я уже пробовал :D Запутался, понял, что пишу что-то не то и плюнул :D То что вы видите в коде - это как раз результат попыток написать враппер.
И, да, спасибо, я всерьез планирую использовать PDO в следующей версии движка (потому что за переписывание этой мне никто даже спасибо не скажет).
SilverSlice: без сомнения, прекрасный! :) Хм, а действительно, что будет в $items[]? :) Трехмерный массив с последним элементом n->FALSE. Или я ослеп и чего-то не вижу?
SilverSlice: Спасибо за своевременное указание :) Сейчас исправим :) Я надеюсь, простого inval() будет достаточно? :)
Bad practice -- то есть PHPStorm врёт? :)