При желании - очень даже выполнимая задача :)
Все зависит от тех 1-2 программистов. Если они опытные, то могут и получше систему написать. Этому способствует наличие более-менее четкого ТЗ.
Интересная Web-студия, которая не может себе сайт создать ;)
OpenCart. Тут особых то и вариантов нет.
У вас какое-то неверное представление о "начинающих".
Начинать изучение программирования нужно с основ, а не с паттернов и интернет магазинов. Для того чтобы понять всю прелесть MVC нужно не один месяц усиленно практиковаться.
Замечания по программе.
У вас третьим пунктом идет "Создание сайта", а изучение основ HTML, CSS, JS и т.д. идет ближе к средине. Как вы себе представляете создание сайта без знаний HTML + CSS?
Пятым пунктом идет создание интернет-магазина. Нефиговенькое такое задание для новичка. Опустим. Еще вопрос. Как можно создать интернет магазин без понятия о базах данных и HTML/CSS/JS? У вас их изучение идет сразу после создания интернет магазина:
Последовательно так. Гораздо лучше купить нормальные книжки по HTML/CSS, JavaScript и ASP.NET MVC или PHP и вперед обучаться. Результат будет на порядки лучше и дешевле.
Какой детсад? HTML и CSS - это основа. Если нет их понимания, то сайт сделать не получится. Вы же относитесь к этому с позиции "нафиг надо".
Итог: в нынешней реализации данная программа - пустая трата времени и средств.
СУБД - это не просто текстовый файл, который где-то там лежит ;)
Если говорить о файлах, то СУБД имеют хорошо развитые средства поиска по большим массивам данных. Это как минимум B-Tree-подобные индексы. Вы о них и не слышали. О query cache и других кешах тоже нет.
Также в СУБД хорошо реализован механизм конкурентного доступа к данным, блокировки всякие, транзакции. Я уже молчу о различных выборках по нескольким таблицам, с различными параметрами. Это не считая процедур и прочих радостей жизни.
Сравнили теплое с мягким... Мда.
Это вы о том как MySQL базы данных хранит? Это не один файл. Учите матчасть. Грохнуть их так же просто как и 1000 файлов. Одна команда.
Почему?
У вас какое-то неверное понимание, на основании которого делаете далеко идущие выводы.
К какому одному файлу? Какая куча? Каких запросов? Вы как-то понятней излагайте свои мысли.
У меня есть несколько сайтов. Один из них на Joomla 1.5. Работает это чудо на дешевенькой VPS-ке с 200 Мб памяти. Посещаемость больше 10К. Сайт летает. Ужас, правда?
Ладно. Вот вы говорите, что вы мол практик. Ок.
Банальная задача. Есть каталог товаров. Нужно выбрать товары по параметрам. На MySQL это делается в рамках одного или двух запросов (если количество параметров и их значения неопределенные). Как вы реализуете такую простую фичу на файлах?
Все зависит от реализации. В общем случае при большом количестве страниц СУБД эффективней.
numer482, в вашем случае CMS на файлах не подходит. Проще поставить тот же DLE.
Я программист. Нужно объяснять не "попроще", нужно объяснять правильно.
Статические методы и переменные - это составляющие класса, пространство имен - это пространство имен. Это совсем разные вещи.
Другое дело, что часто статические классы используются как некое подобие пространства имен для группировки схожих переменных и методов.
Ну и зачем этот троллинг? "Я скинул другу, поржали вместе". Школота, блин.
Подключение в один момент действительно будет одно. Объектов класса может быть много.
Это статические методы и переменные. Не больше, ни меньше.
Синглтон - это не класс. Это шаблон разработки.