Hi all! Подскажите пожалуйста фреймворк, в котором удобнее всего написать обработку данных с изменяемой "на лету" их (данных) структурой. Суть задачи: Написание каталога, такого, что пользователи могут не только добавлять в каталог элементы, не только добавлять/удалять/переносить под(-под-под-...-)разделы, но и менять набор свойств элементов создаваемого раздела (а модераторы - утверждать либо аннулировать внесённые пользователями изменения). Набор свойств наследуется под-разделами создаваемого раздела, может со временем меняться, множественное наследование также возможно. Пример применения: классификатор животных по: - биологическим отрядам, семействам, видами их фенотипическим признакам - отношениям с человеком (вредители, промысловые, охраняемые) Желая добавить в этот класс, например, дельфина афалину, пользователь должен будет: 1. Создать в уже существующем разделе "класс Млекопитающие" каталога-по-биологической-классификации под-раздел "отряд Китообразные" 2. Указать для этого отряда неприменимость свойства "число пальцев на задних конечностях" 3. Прописать для этого отряда константу "0" для свойства "число пальцев на передних конечностях" 4. Добавить для этого отряда ряд свойств, таких, как "максимальная глубина погружения", например 5. Добавить в этот под-раздел под-под-раздел "семейство Дельфиновые" 6. И только теперь добавлять туда элемент "Афалина Tursiops truncatus" и прописывать ему эту "максимальную глубину погружения" вместе с кучей свойств (типа числа зубов, средней длины тела и т.п.), унаследованных от над-раздела "класс Млекопитающие" 7. Затем указать, что животное по каталогу "отношения-с-человеком" относится к "Охраняемым", затем прописать тут же унаследованное из этого раздела свойство "Охранный статус". Собственно, вопрос: Под каким фреймворком и с какой базой данных лучше всего писать подобный классификатор?
Тут ответ такой же, как и с вопросами "Какой дистрибутив Linux лучше всего подходит для сервера" - тот, который лучше знаешь. Если не знаешь никакой, то бери тот, который лучше документирован на данный момент.
Специфическая задача, можно решать разными способами. Насколько мне известно, фреймворков, где она решена изначально, нету. Можно CMS попробовать с такими возможностями, Drupal, к примеру. Или написать самому на любом фреймворке.
SimplaCMS имеет гибкий каталог с наследованием свойств от категории к категории. В составе фреймворков, подобные компоненты не встречались мне.
такое врядли найдете... я относительно недавно делал систему учета перелетных птиц)) все делал с нуля)) а так то рекомендую Yii2)) потому что с Laravel'ом у меня не заладилось сразу)) плюс документации куча для yii2))
А кто-то наоборот пишет. Я пишу на обоих. Хотя, Yii2 на раз два на самом простом шареде разворачивается, Laravel труднее. Зато в Laravel куча всякого поддерживается из коробки, и он следует современным стандартам, которые появились уже когда архитектура Yii2 была полностью построена, и разработчики не стали переделывать её (по признанию samdark, одного из основных разработчиков Yii).
Поправьте меня, если ошибаюсь: осваивать ради моей задачи Yii - это что-то типа того, как осваивать jQuery ради функции hide(), я верно понял? Уже несколько дней пытаюсь урывками разобраться в Yii, но до сих пор толком не понял, какую часть документации для моей задачи копать в первую очередь.
@Max Brown да. Однако, научившись делать $().hide, будешь так делать много много раз )) --- Добавлено --- А че с разными CMS?
Когда в первый раз работаешь с фреймворком, документацию надо прочитать от начала до конца. Точнее, руководство (у документации yii2 две части - руководство, и описание api, вот руководство надо потратить время и прочесть хотя бы по разу от начала до конца). Но ещё раз - прямо твая задача в самом фреймворке не решена, код придётся пописать.
я сейчас уже пару недель работаю с InstantCMS.. поставьте ее и посмотрите.. там из коробки много чего есть.. а компоненты писать удобно.