|
|
|
| Доброго времени суток, знатоки.
Возник такой вопрос...
Давно занимаюсь сайтами, но почти все созданы на CMS Joomla. Теперь возникли желание и необходимость написать сайт с нуля...
Знаю про ООП, про паттерн MVC, но последнее использовать не очень то и хотелось бы.
Не охото сталкиваться с сотнями видов, моделей, контроллеров и тысячами слоёв, чтобы написать большой проект (портал связанный с модой). Есть вариант разбить виды на папки (как бы приложения, но это другой вопрос).
Суть вопроса: Посоветуйте более оптимальный вариант, как сделать хороший движок, заточенный под один, конкретный сайт. Главные хотелки, это чтобы можно было разместить шаблон в одной папке, виджеты (по разным папкам) и прочие расширения.
Может есть у кого-то ссылки на готовые исходники больших сайтов (Open Source)?
И как был написан этот форму (если это читают админы), можно ли где-то исходник посмотреть? Помню давно где-то всплывало сообщение подобное.
Повторюсь: Готовые движки не предлагать, это принципиально... Учиться самому пора уже... | |
|
|
|
|
|
|
|
для: n1ko
(21.11.2012 в 14:07)
| | >Доброго времени суток, знатоки.
Обычно в передачи "Что" "Где" "Когда" говорят уже - доброго вечера ! :)
Чем это Вас так расстроил MVC ?
Если Вы собираетесь писать серьезный большой проект, то без ООП и MVC сложно представить его успешность и гибкость.
Можно конечно заточить сайт, без готовых решений и даже без фраймворка, да в принципе все серьезные проекты так и разработаны с нуля. Но без ООП и MVC правил я бы не отказывался.
>Не охото сталкиваться с сотнями видов, моделей, контроллеров и тысячами слоёв, чтобы написать большой проект
А кто Вам сказал что их сотни ? )) Порой и десятка хватит для написания проекта. | |
|
|
|
|
|
|
|
для: Mirage
(21.11.2012 в 18:08)
| | > Чем это Вас так расстроил MVC ?
Не то, чтобы растроил... А пугает порой) Опыта у меня не поезд, а всего-лишь тележка и не хотелось бы завалиться на проекте на MVC и приклинать день, когда выбрал для себя эту стезю.
Да и порой бесит, когда ради 4 строчек определённых нужно создать отдельный файл, а если эти 4 строки вставить в другое место, то принципы паттерна нарушаем.
> Обычно в передачи "Что" "Где" "Когда" говорят уже - доброго вечера ! :)
Ну люди в разных поясах то живут) Решил такое приветствие себе взять) | |
|
|
|
|
|
|
|
для: n1ko
(21.11.2012 в 23:03)
| | Вот объясните мне, зачем придумали шкафы для книг, одежды и т.п.? зачем вообще шкафы? все можно скидать в одну кучу и все...
Когда ответите мне на этот вопрос, я думаю вы поймете зачем создавать новый файл для 4 строчек | |
|
|
|
|
|
|
|
для: CrazyAngel
(26.11.2012 в 03:05)
| | Да, вы правы... "Сортировка" - штука нужная. | |
|
|
|
|
|
|
|
для: n1ko
(21.11.2012 в 14:07)
| | Движок форума вам тут не помощник... это писалось давно и под другие задачи.
Тысячи слоев у вас не будет, MVC предполагает только три слоя:
1. объекты модели, фактически обертки вокруг таблиц базы данных
2. объекты контроллера - извлечение данных из объектов модели, проверка вводимых пользователем данных, роутинг (поиск нужных модулей и моделей в зависимости от введенного адреса)
3. представление - шаблоны, соединяющие разметку и данные, представленные контроллером.
Моделей столько, сколько таблиц или сущеностей (ряд сущеностей может обслуживаться несколькими таблицами), контроллеров столько, сколько модулей на сайте (иногда их разбиваются на действия, если модуль предполагает несколько страниц, например, списочная страница и страница с детальным описанием). Шаблонов столько, сколько разных видов страниц на сайте (как вам удобнее, так и располагайте их, путь же к ним прописывайте в контроллерах).
PS Если готовые движки не хотите, зачем же хотите смотреть исходники больших сайтов? Они, как правило, сами по себе движок. | |
|
|
|
|
|
|
|
для: cheops
(21.11.2012 в 21:56)
| | > Тысячи слоев у вас не будет, MVC предполагает только три слоя:
Я немного другое имею ввиду. :)
например в джумле есть следующая архитектура вида
views (папка со всеми видами)
---- name (наш определённый вид)
-------- tmpl (Папка с слоями. Варианты отображения вида)
> PS Если готовые движки не хотите, зачем же хотите смотреть исходники больших сайтов? Они, как правило, сами по себе движок.
А чтобы просто понимать, как другие организуют свои проекты. Для опыта. Чтобы взять либо что-то среднее между ними.
___
Хм... Значит всё-таки лучше использовать паттерн MVC? От ООП отказываться не буду, ибо это безусловно... Может посоветуете материал Хороший для изучения MVC. Компоненты, модули и плагины с шаблонами под джумлу пишу без проблем, но ядро - дело другое... | |
|
|
|
|
|
|
|
для: n1ko
(21.11.2012 в 23:00)
| | MVC это не в коем случае не паттерн, паттерн это кое что несколько другое. MVC это схема, схема построения сайта, можно даже сказать что это одна из Архитектур его построения. Выше вроде как уже описали что означают эти буквы MVC и главные принципы это схемы. Но Паттерны проектирования это очень сложная тема, но вот к слову например Синглетон это один из паттернов. Так описывают класс, который обязательно удовлетворяет 2 требованиям, во первый имеет глобальную точку доступа, а во вторых, можно создать только один член класса, больше одного он просто не должен позволять создать. Если я не ошибаюсь то паттерн это принципиальная схема части программы, которую вы пишите. Таких паттеронов щас вроде как 23.
[поправлено модератором] | |
|
|
|
|
|
|
|
для: hk416
(21.11.2012 в 23:40)
| | Ну что такое MVC и как расшифровывается аббревиатура, знаю, слава Богу. Хоть что-то...)
Ах да, Вы правы... назвал вещь не своим именем... "Концепция", верно же?
---
Мне бы просто решить, как грамотно начать проект. Ибо он будет расширяться и дополняться на протяжении всей его деятельности. Ибо потом не хочется переписывать ВСЁ с нуля, чтобы позволить порталу работать на более больших оборотах.
Сейчас читаю сообщения и думаю выбрать MVC, в принципе раньше так и думал, что буду использовать именно эту концепцию.
---
Тогда такой, немного другой вопрос: Браузерная онлайн игра (та что на php). Её тоже с MVC лучше писать? Может кто-нибудь знает исходники таких игр? Интересно было бы посмотреть, как такие вопросы решаются. Прошу прощения, за резкий поворот темы, но думаю не одному мне интересно будет. | |
|
|
|
|
|
|
|
для: n1ko
(21.11.2012 в 23:00)
| | Для общего развития http://www.ozon.ru/context/detail/id/6108824/ http://www.ozon.ru/context/detail/id/2457392/. ООП на PHP http://www.softtime.ru/php5/?id_article=112 Что же касается практики возьмите любой MVC фраймворк (Zend Framework, Yii) изучайте, делайте на нем проект. | |
|
|
|
|
|
|
|
для: Mirage
(21.11.2012 в 23:52)
| | > ... возьмите любой MVC фраймворк (Zend Framework, Yii) изучайте, делайте на нем проект.
Я писал, что только с нуля. Ни движки, ни фраймворки использовать не буду. Но за ссылки спасибо огромное! | |
|
|
|
|
|
|
|
для: n1ko
(21.11.2012 в 23:55)
| | > Я писал, что только с нуля. Ни движки, ни фраймворки использовать не буду.
Я никогда не пользовался ни 1 фреймвоком, но вчера по трудоустройству дали тестовое задание, которое нужно было выполнить с использованием фреймвока Codeigniter. Без вариантов.
Так что пришлось за пол дня освоить.
Так вот выяснилось, что по большей части, просто все что я "изобретал" и использовал повсеместно в течение многих лет, тут просто собрано в одно место, систематизировано и заточено под MVC.
Мое мнение - с нуля - это конечно супер! Но во многом это будет просто мартышкин труд. Для общего развития и понимания откуда ноги растут - конечно полезно. Но производственной пользы мало. | |
|
|
|
|
|
|
|
для: Sfinks
(22.11.2012 в 08:32)
| | В самом первом посте писал: "Повторюсь: Готовые движки не предлагать, это принципиально... Учиться самому пора уже..."
Я знаю плюсы движков, с ними только и работаю. Но пора бы скилл прокачать :D
Это как-бы ступенька в развитии. Смогу - гуд. Не смогу - буду учиться дальше. | |
|
|
|
|
|
|
|
для: Mirage
(21.11.2012 в 23:52)
| | УУУУУУ (Zend Framework, Yii) это такой будет лес для начинающего, если не китайская грамота , что это лучше начинать разбирать после того как не один сайт напишешь, так что зря вы так сразу ))) | |
|
|
|
|
|
|
|
для: hk416
(22.11.2012 в 00:06)
| | Да, я уже имел опыт с зендом. :) Дальше подключения общего шаблона и написания пару видов я не ушёл. Упал на вопросе, как создать виджеты. Узнав, что там нужно колдовать - плюнул и ушёл обратно в джумлу... :)))) | |
|
|
|
|
|
|
|
для: Mirage
(21.11.2012 в 23:52)
| | Полностью согласен.
Я тоже хочу сделать портал. Но не хочу писать с нуля. Поэтому изучаю Zend, а потом возьмусь за Yii. Посмотрим какой из них понравиться больше. А для всяких экспериментов лучше создать специальный сайт (я свой с нуля переписал уже 3 раза, т.к. всегда там что-то хочется сделать лучше). | |
|
|
|
|
|
|
|
для: n1ko
(21.11.2012 в 23:00)
| | например в джумле есть следующая архитектура вида
=================================================
скольких потенциальных программистов убила эта фраза!
ничего нет в джумле! ничего того, что есть в джумле, нет в
нормальных движках! забудьте джумлу как страшный сон
и никогда не вспоминайте! для опыта надо брать учебник
и писать свой код, а не переделывать готовые шаблоны. | |
|
|
|
|
|
|
|
для: elenaki
(22.11.2012 в 11:48)
| | Готов поспорить. Джумла, однако, достаточно хороший движок. Не говорю про версии 1.0 или 1.5
Работаю с 2.5, 3
Нужно сперва поработать хорошо с движком, чтобы его судить...) Может Вы скажете, что битрикс наоборот хороший двиг?)
---
Но то, что нужно самому писать - верно. Пора уже получть опыт, создания больших проектов с нуля.. | |
|
|
|
|
|
|
|
для: n1ko
(22.11.2012 в 14:30)
| | Тогда уж сразу на C++ пишите, чтоб еще и быстрый был, как самолет =)) | |
|
|
|
|
|
|
|
для: Sfinks
(22.11.2012 в 18:44)
| | Остроумно :) | |
|
|
|
|
|
|
|
для: n1ko
(22.11.2012 в 14:30)
| | Я скажу что битрикс хороший двиг. Имею большой опыт работы и с тем и с другим. | |
|
|
|
|
|
|
|
для: CrazyAngel
(26.11.2012 в 03:08)
| | Не буду спорить, Вам лучше видно. | |
|
|
|
|
|
|
|
для: CrazyAngel
(26.11.2012 в 03:08)
| | Хм... не готов спорить, но концепция хранения всего и вся в единой базе инфоблоков имеет свои слабости, особенно при построении проектов с крупными и тяжелыми базами. Если же работать напрямую со своими таблицами, хорошего остается мало. | |
|
|
|
|
|
|
|
для: cheops
(27.11.2012 в 23:30)
| | Так для этого там есть механизм отделения отдельных инфоблоков в свои отдельные таблицы, причем работа ведется без изменений в коде. | |
|
|
|
|
|
|
|
для: CrazyAngel
(27.11.2012 в 23:46)
| | Довольно куций инструмент оптимизации, по сравнению с гибкостью, которую предоставляет SQL... точнее это один из сотни инструментов. | |
|
|
|
|
|
|
|
для: n1ko
(21.11.2012 в 14:07)
| | Я свой портал с использованием Smarty пишу, меня устраивает)) ну это насчет шаблонов а так все зависит от воображения разработчика | |
|
|
|
|
|
|
|
для: skydemon
(29.11.2012 в 19:57)
| | Ни разу не видел адекватного объяснения, зачем нужен смарти. Зачем язык программирования в языке программирования? все что дает смарти... да ничего оно не дает) все это делает и обычный php считай что с таким же синтаксисом. | |
|
|
|
|
|
|
|
для: CrazyAngel
(03.12.2012 в 20:15)
| | С одной стороны с Вами согласен... Все работадатели плюются пеной, что им нужен программист со знаниями смарти. Порой напрягает. Сколько себя помню - ниразу его не использовал, и не обделялся возможностями.
А с другой стороны... Если люди выбирают, значит он им зачем-то нужен, значит удобнее) | |
|
|
|
|
|
|
|
для: CrazyAngel
(03.12.2012 в 20:15)
| | Там кэширование встроено, т.е. вы компилируете шаблон и используете... это многих подкупает, так как у разработчика могут не дойти руки до собственной реализации. Кроме того, если вы используете шаблон Модель-Контроллер-Представление, то использование Smarty сильно дисциплинирует, когда представление полностью создается на Smarty, в этом случае у вас не проваливается бизнес-логика из контроллера, а SQL-запрос посылать из представления крайне не удобно. С другой стороны Smarty довольно изящен по сравнению с той кашей PHP и HTML, в которые, как правило, превращаются представления. В общем, когда вы имеете дело с системой покрытой тестами, над которой работает несколько разработчиков или команд, плюсы в использовании Smarty могут появится. | |
|
|
|