Артём Петренков: тоесть как таблицу артикулов оставить attribute, а цвет и размер вытащить в пятую таблицу по схеме EAV (id, id_attribute, param, val)?
evnuh: вообще все товары в сфере одежды имеют и цвет и размер. Все товары. Изучив множество xml файлов выгрузки, всегда картина одинаковая. Куртка красная XS это один товар. Таже куртка красная L это другой товар и артикул там другой.
Сейчас речь о хранении, тк я люблю работать с кэш таблицами, которые заполняютя при добавлении товара сразу. Да и у меня бд InnoDB, как сайтам чаще и пологается)
Я заметил, что идет массовый уход устройств с WP. Не хотелось бы верить, что это специально, но странно всё же. Выключатели они гораздо "конкретней" бубнов и прочего.. Даже этот ZM-VE300 попробуй найти.. А новые модели "почему-то" не делаются ни у этого, ни у самих производителей HDD :)
На счет разбивки, не так видимо выразился. Классы то короткие, не хочу все соединять в "одну корзину". Файлы от 10 кб громозкие и ошибок можно наделать случайных.
Спасибо всем, кто потратил немного времени на мой пример. Учту все идеи, критику и советы. Вопрос еще один, чуть не по теме. Меня когда учили, сказали пользоваться такими правилами:
1) Код html должен быть отдельно от кода php и содержать исключительно шаблон(ы). Кто-то делает в формате tpl, я делаю в html. Все заменяю в шаблоне через скобки {} функцией strtr
2. Код php должен содержать ТОЛЬКО код php. "Ни в коем случае не закрывай теги для перевода на HTML, это говнокод". В крайних случаях отдельные элементы (модули) могут содержать начальный <div> и тд.
3. Используй MVC. Тут несколько размыто пишут. Для меня это получение URL через index.php. Потом передача в route, генерация контента в зависимости от страницы и её вывод.
Спасибо за разъяснение. "Объект сам должен знать как инициализировать себя, ему достаточно передать данные для инициализации(например уникальный id)" Над этим подумаю.
Я смотрю все прицепились к тому, что html кусок вышел в функции. Старался и так его не выводить особо. Да и не пойму чё я там вывел то из кода))))
огласен с Вами, но по моему не комильфо открывать <?php и закрывать между дивов в PHP файле. Разве нет? Вообще у меня html и php отдельно, то есть в PHP файлах всегда СТРОГО 1 открывающий тег <? и закрывающий.
Благодарю за разъяснение)
Тогда сразу два вопроса на засыпку
2) То есть я, программируя на ООП, должен еще знать фрэймворки и какие-то готовые модели или это лишь рекомендуется знать? Тут ООП бы в чистом виде выучить, а при слове фрэймворк сразу мотивация теряется.
3) Я щас и использую чистую MVC модель в инет магазинах. Все разложено по полкам и разделено на котлеты и мух. Каждая модель это функция которая имеет входные переменные, легко расширяются и return-ят результат. index его собирает и выводит. Многие ООП кодеры говорят что это не гуд. Вот я и пытаюсь перемоделировать свой CMS двиг на ООП стиль. Кроме меня мало кому интересно ковыряться в самописке, но для моего развития и освоения понтов не помешает.
Осадили вы меня)) Для меня важно, то, что генерирует финально php, то что делает потом посетитель и как подана инфа, в том числе и "под капотом". Быдлокод, вроде как - это когда не сразу понимаешь, что и как написано. Особенно если туда добавляется корявость вперемешку с брутальным г-кодом. У меня очень понятный код. Я честно ЗА новые методы и улучшения. Пока что классы учу не особо понимая, для чего они нужны, просто решил, что на первое время это будет данность. Кстати я уже оборачиваю свои функции и даж что-то наследую))) Как бы с Ооп не пришлось попрощаться почти с тремя нулями после запятой в скорости генерации целых магазов, а то посмотришь некоторые фрэймворки или cms, так становится жаль супер проф коллег. Вроде и делают "сильно", вот тока кроме них мало кто это оценивает. Мне один такой профи дал совет и кстати хороший. Сказал, иногда нужно делать класс, иногда функцию. Нельзя все делать по одному, это не профессионально. Я верю)
Спасибо за советы, мужики. Спорить не стану, согласен со всеми. Видимо я как-то увлекся функциями, что классы миновал. По сути-то, у меня каждая функция и отвечала за какой-то объект/сущность на сайте. Начиная от шапки, блоком товара в магазине, заканчивая модулями, формами и тд.
Почти все статичные функции имеют вид:
function block_header()
{
ob_start();
//Тело функции
$buffer = ob_get_contents();
ob_end_clean();
return $buffer;
}
Они и выглядят-то как объекты. Другое дело, я пока не вник в пользу наследований и тд..
Уже накодил не мало строк на ООП5. Думаю разберусь постепенно.
Кстати мужики, а еще вопрос, сюда же. Не стал дописывать, тк думал не принципиально.
В этой системе несколько необычный вид голосования. Один человек голосует сразу за 10-20 мероприятий. Он также может переголосовать через какое-то время. Следовательно, чтобы не делать проверку массивом и заменами, проще очистить таблицу от голосов ЭТОГО юзера и записать на новые строки новые результаты. Лично я вижу проблему только в расходовании ID (честно, не очень понимаю зачем вообще это поле, тк обычно ему применение самое основное, в данном случае оно лишне, но дабы делать КАК НУЖНО сделал), но не думаю что это критичная проблема. Может я еще чего не подозреваю?