1. PHP - это интерпретируемый язык, т.е. между вашим кодом и выводом существует некая прослойка, называемая интепретатор PHP, и что она делает и сколько ресурсов занимает, не знает никто кроме лиц заинтересованных
а) Никто и никогда не называл его компилируемым, странно что только спустя 2 года работы с языком, вы узнали о том, компилируемый этот язык или интерпретируемый
б) В той же яве, которую вы упоминули во 2-м пункте, есть такая же прослойка (ява-машина), что с того?
в) Если вы не знаете, как работает php внутри и сколько ресурсов ест - это не значит, что никто не знает. Исходники открыты, все, кому это интересно, смотрят в них и узнают все, что нужно. Есть куча статей на хабре про то, как работает зенд машина ( http://habrahabr[dot]ru/post/141093/ , например)
Цитата:
2. По поводу OOП да же стыдно обсуждать, этот язык рядом не лежал с Java и Ruby, тем более C#. PHP называют во всем цивилизованном мире псевдо OOП
а) хотелось бы увидеть, где реализацию ООП в последних версиях php, называют псевдо-оооп
б) в чем обман-то?
Читать книги (сюда же входят курсы от специалиста, например) + изучение чужих исходников (github + открытые фреймворки, cms лучше не стоит, они, как правило, менее правильно организованы, нежели фреймворки) + пробовать идти на работу. Поучаствовать в open-source проекте (на том же гитхабе)
Самое простое - вбить костыль - связь:
id свойства
значение
картинка
Ну и на страницах, если не выбран цвет - не смотреть в эту таблицу, если выбран - сделать доп джойн на эту таблицу
Еще проще - сделать это отдельными товарами, как писали выше ... это и логически и фактически именно так + проще будет делать оформление заказа (если отдельный товар - его идентификатор уже содержит в себе и цвет и размер, никто нигде не перепутает ничего, если же товар 1, но свойства разные - тебе в корзине при оформлении заказа надо будет это как-то указывать, как-то надо контролировать остатки именно красных рубах и тд - это мега-гемор, не понятно, для чего он тебе) ... лучше идти от обратного, разные товары (красная рубаха модели 1 и синяя рубаха модели1) объединять в более обобщенные сущности (модель 1 разных цветов, включающая в себя товары красная рубаха модели 1 и синяя рубаха модели1)
На разных операциях по-разному, на разных картинках по-разному. GD очень плохо работает с картинками, у которых большое количество пикселей (размер файла не так важен). Попробуйте пару основных базовых операций сделать с GD и Imagic и сравните потребляемую память (я разницу ощущал именно в памяти). По поводу 40qps - тут так же, если вам надо 10 на 10 пикселей черным закрасить - это одно, если hd картинку ватермарками обтыкать и сделать 20 ресайзов - это другое. Есть куча тулз для нагрузочного тестирования - попробуйте прогнать и все увидите, хватает вам вашего железа или нет.
caballero, проблема именно в том, что информации много, нужна краткая выжимка, дающая представление об основах, что бы можно было определиться с направлением изучения.