Alexey: ну да, нафиг не сдались эти структуры/классы, фигачим все просто на переменных, списках и т.д. А все эти принципы ООП, методологии разработки, паттерны выдумали просто так потому что скучно жить.
DigitalSmile: ну так я в контексте директивы и говорил:
function myDirective() {
return {
template: '<ng-include src="directiveTemplate"></ng-include>',
link: function (scope) {
// меняем темплейт в зависимости от данных
}
}
}
Если зависит от клика - то имеет смысл исользовать $compile и подготовить два варианта заранее. Если от атрибутов и не зависит от данных в скоупе - можно вместо темплейта поставить замыкание и там разруливать исходя из того что записано в элементе или атрибутах.
DigitalSmile: а еще можно подключать через ng-include. Я собственно пока так решаю подобные проблемы если только не стоит вопрос о максимальной производительности.
Александр Евгеньевич: тут уже зависит от инструментов. Скажем все операции над картинкой можно произвести в памяти. А вот на счет конвертации PDF в изображения - тут все решения которые знаю я работают именно с файлами (по сути в php делается exec к утилите).
Суть в том что у вас должна быть очередь задачи и воркеры которые эти задачи будут выполнять. Воркер будет выполнять весь скоуп работ. Все операции которые можно объединить (скажем обрезать углы картинки и закруглить) можно один раз загрузив изображение в память.
Дмитрий: можно совмещать, просто вы должны понять что фреймворк это лишь один из слоев вашего приложения, он не решит всех ваших проблем и знать PHP всеравно нужно. В этом плане лучше взять Symfony или тот же Zend которые больше упор делают на абстрагирование от самого фреймворка.
Дмитрий: Zend это жирный монструозный фреймворк, который чаще всего используют на жирных проектах энтерпрзайн уровня, куда без нормальных знаний PHP, ООП, архитектурных аспектов вас даже не подпустят.
podust: у вас product2 лишний. Нужна нормализация данных. Либо различия выносить в отдельную таблицу что бы payments указывали только на одну таблицу. Или вообще на отдельную таблицу в которой слепок товара (все параметры которые можно поменять но которые должны быть закреплены как исторический факт).
Антон Шаманов: затем что бы php скрипт генерировал нагрузку на CPU. Я вообще не понимаю к чему вы тут это все написали. Поднимаем 4 процесса с бесконечными циклами и загрузка на уровне 99% всего CPU нам обеспечена.
Все верно, монга не умеет классические транзакции. Но запись в один единственный документ всегда автомарна. Если вы хотите что бы у вас запись в несколько документов была атомарной - там так же есть для этого средства. То есть грубо говоря транзакции есть, но сам подход чуть отличается. В прочем как и вообще все что относится к монге и документноориентированным базам в целом.
Katran91: Ну в таком контексте Angular вам должен подойти. Или Ember.js. Вы же понимаете что это все лишь инструменты и все зависит от того как вы ими пользуетесь.
Angular плохо справляется с решениями в лоб при работе с большими объемами данных, в чем его обычно и винят и противопоставляют ReactJS где таких решений в лоб просто быть не может.
rework: добавьте Dockerfile или Vagrantfile и там все окружение поднимите. Тогда чуваку нужно будет сделать только vagrant up или Docker контейнеры запустить.