Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проектировка сайта (портал)
 
 автор: n1ko   (21.11.2012 в 14:07)   письмо автору
 
 

Доброго времени суток, знатоки.
Возник такой вопрос...
Давно занимаюсь сайтами, но почти все созданы на CMS Joomla. Теперь возникли желание и необходимость написать сайт с нуля...
Знаю про ООП, про паттерн MVC, но последнее использовать не очень то и хотелось бы.
Не охото сталкиваться с сотнями видов, моделей, контроллеров и тысячами слоёв, чтобы написать большой проект (портал связанный с модой). Есть вариант разбить виды на папки (как бы приложения, но это другой вопрос).

Суть вопроса: Посоветуйте более оптимальный вариант, как сделать хороший движок, заточенный под один, конкретный сайт. Главные хотелки, это чтобы можно было разместить шаблон в одной папке, виджеты (по разным папкам) и прочие расширения.

Может есть у кого-то ссылки на готовые исходники больших сайтов (Open Source)?
И как был написан этот форму (если это читают админы), можно ли где-то исходник посмотреть? Помню давно где-то всплывало сообщение подобное.

Повторюсь: Готовые движки не предлагать, это принципиально... Учиться самому пора уже...

  Ответить  
 
 автор: Mirage   (21.11.2012 в 18:08)   письмо автору
 
   для: n1ko   (21.11.2012 в 14:07)
 

>Доброго времени суток, знатоки.
Обычно в передачи "Что" "Где" "Когда" говорят уже - доброго вечера ! :)

Чем это Вас так расстроил MVC ?
Если Вы собираетесь писать серьезный большой проект, то без ООП и MVC сложно представить его успешность и гибкость.
Можно конечно заточить сайт, без готовых решений и даже без фраймворка, да в принципе все серьезные проекты так и разработаны с нуля. Но без ООП и MVC правил я бы не отказывался.

>Не охото сталкиваться с сотнями видов, моделей, контроллеров и тысячами слоёв, чтобы написать большой проект
А кто Вам сказал что их сотни ? )) Порой и десятка хватит для написания проекта.

  Ответить  
 
 автор: n1ko   (21.11.2012 в 23:03)   письмо автору
 
   для: Mirage   (21.11.2012 в 18:08)
 

> Чем это Вас так расстроил MVC ?
Не то, чтобы растроил... А пугает порой) Опыта у меня не поезд, а всего-лишь тележка и не хотелось бы завалиться на проекте на MVC и приклинать день, когда выбрал для себя эту стезю.
Да и порой бесит, когда ради 4 строчек определённых нужно создать отдельный файл, а если эти 4 строки вставить в другое место, то принципы паттерна нарушаем.

> Обычно в передачи "Что" "Где" "Когда" говорят уже - доброго вечера ! :)
Ну люди в разных поясах то живут) Решил такое приветствие себе взять)

  Ответить  
 
 автор: CrazyAngel   (26.11.2012 в 03:05)   письмо автору
 
   для: n1ko   (21.11.2012 в 23:03)
 

Вот объясните мне, зачем придумали шкафы для книг, одежды и т.п.? зачем вообще шкафы? все можно скидать в одну кучу и все...
Когда ответите мне на этот вопрос, я думаю вы поймете зачем создавать новый файл для 4 строчек

  Ответить  
 
 автор: n1ko   (27.11.2012 в 01:57)   письмо автору
 
   для: CrazyAngel   (26.11.2012 в 03:05)
 

Да, вы правы... "Сортировка" - штука нужная.

  Ответить  
 
 автор: cheops   (21.11.2012 в 21:56)   письмо автору
 
   для: n1ko   (21.11.2012 в 14:07)
 

Движок форума вам тут не помощник... это писалось давно и под другие задачи.

Тысячи слоев у вас не будет, MVC предполагает только три слоя:
1. объекты модели, фактически обертки вокруг таблиц базы данных
2. объекты контроллера - извлечение данных из объектов модели, проверка вводимых пользователем данных, роутинг (поиск нужных модулей и моделей в зависимости от введенного адреса)
3. представление - шаблоны, соединяющие разметку и данные, представленные контроллером.

Моделей столько, сколько таблиц или сущеностей (ряд сущеностей может обслуживаться несколькими таблицами), контроллеров столько, сколько модулей на сайте (иногда их разбиваются на действия, если модуль предполагает несколько страниц, например, списочная страница и страница с детальным описанием). Шаблонов столько, сколько разных видов страниц на сайте (как вам удобнее, так и располагайте их, путь же к ним прописывайте в контроллерах).

PS Если готовые движки не хотите, зачем же хотите смотреть исходники больших сайтов? Они, как правило, сами по себе движок.

  Ответить  
 
 автор: n1ko   (21.11.2012 в 23:00)   письмо автору
 
   для: cheops   (21.11.2012 в 21:56)
 

> Тысячи слоев у вас не будет, MVC предполагает только три слоя:
Я немного другое имею ввиду. :)
например в джумле есть следующая архитектура вида

views (папка со всеми видами)
---- name (наш определённый вид)
-------- tmpl (Папка с слоями. Варианты отображения вида)

> PS Если готовые движки не хотите, зачем же хотите смотреть исходники больших сайтов? Они, как правило, сами по себе движок.
А чтобы просто понимать, как другие организуют свои проекты. Для опыта. Чтобы взять либо что-то среднее между ними.
___
Хм... Значит всё-таки лучше использовать паттерн MVC? От ООП отказываться не буду, ибо это безусловно... Может посоветуете материал Хороший для изучения MVC. Компоненты, модули и плагины с шаблонами под джумлу пишу без проблем, но ядро - дело другое...

  Ответить  
 
 автор: hk416   (21.11.2012 в 23:40)   письмо автору
 
   для: n1ko   (21.11.2012 в 23:00)
 

MVC это не в коем случае не паттерн, паттерн это кое что несколько другое. MVC это схема, схема построения сайта, можно даже сказать что это одна из Архитектур его построения. Выше вроде как уже описали что означают эти буквы MVC и главные принципы это схемы. Но Паттерны проектирования это очень сложная тема, но вот к слову например Синглетон это один из паттернов. Так описывают класс, который обязательно удовлетворяет 2 требованиям, во первый имеет глобальную точку доступа, а во вторых, можно создать только один член класса, больше одного он просто не должен позволять создать. Если я не ошибаюсь то паттерн это принципиальная схема части программы, которую вы пишите. Таких паттеронов щас вроде как 23.

[поправлено модератором]

  Ответить  
 
 автор: n1ko   (21.11.2012 в 23:53)   письмо автору
 
   для: hk416   (21.11.2012 в 23:40)
 

Ну что такое MVC и как расшифровывается аббревиатура, знаю, слава Богу. Хоть что-то...)

Ах да, Вы правы... назвал вещь не своим именем... "Концепция", верно же?
---
Мне бы просто решить, как грамотно начать проект. Ибо он будет расширяться и дополняться на протяжении всей его деятельности. Ибо потом не хочется переписывать ВСЁ с нуля, чтобы позволить порталу работать на более больших оборотах.

Сейчас читаю сообщения и думаю выбрать MVC, в принципе раньше так и думал, что буду использовать именно эту концепцию.
---
Тогда такой, немного другой вопрос: Браузерная онлайн игра (та что на php). Её тоже с MVC лучше писать? Может кто-нибудь знает исходники таких игр? Интересно было бы посмотреть, как такие вопросы решаются. Прошу прощения, за резкий поворот темы, но думаю не одному мне интересно будет.

  Ответить  
 
 автор: Mirage   (21.11.2012 в 23:52)   письмо автору
 
   для: 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) изучайте, делайте на нем проект.

  Ответить  
 
 автор: n1ko   (21.11.2012 в 23:55)   письмо автору
 
   для: Mirage   (21.11.2012 в 23:52)
 

> ... возьмите любой MVC фраймворк (Zend Framework, Yii) изучайте, делайте на нем проект.
Я писал, что только с нуля. Ни движки, ни фраймворки использовать не буду. Но за ссылки спасибо огромное!

  Ответить  
 
 автор: Sfinks   (22.11.2012 в 08:32)   письмо автору
 
   для: n1ko   (21.11.2012 в 23:55)
 

> Я писал, что только с нуля. Ни движки, ни фраймворки использовать не буду.
Я никогда не пользовался ни 1 фреймвоком, но вчера по трудоустройству дали тестовое задание, которое нужно было выполнить с использованием фреймвока Codeigniter. Без вариантов.
Так что пришлось за пол дня освоить.
Так вот выяснилось, что по большей части, просто все что я "изобретал" и использовал повсеместно в течение многих лет, тут просто собрано в одно место, систематизировано и заточено под MVC.
Мое мнение - с нуля - это конечно супер! Но во многом это будет просто мартышкин труд. Для общего развития и понимания откуда ноги растут - конечно полезно. Но производственной пользы мало.

  Ответить  
 
 автор: n1ko   (22.11.2012 в 10:59)   письмо автору
 
   для: Sfinks   (22.11.2012 в 08:32)
 

В самом первом посте писал: "Повторюсь: Готовые движки не предлагать, это принципиально... Учиться самому пора уже..."

Я знаю плюсы движков, с ними только и работаю. Но пора бы скилл прокачать :D
Это как-бы ступенька в развитии. Смогу - гуд. Не смогу - буду учиться дальше.

  Ответить  
 
 автор: hk416   (22.11.2012 в 00:06)   письмо автору
 
   для: Mirage   (21.11.2012 в 23:52)
 

УУУУУУ (Zend Framework, Yii) это такой будет лес для начинающего, если не китайская грамота , что это лучше начинать разбирать после того как не один сайт напишешь, так что зря вы так сразу )))

  Ответить  
 
 автор: n1ko   (22.11.2012 в 00:13)   письмо автору
 
   для: hk416   (22.11.2012 в 00:06)
 

Да, я уже имел опыт с зендом. :) Дальше подключения общего шаблона и написания пару видов я не ушёл. Упал на вопросе, как создать виджеты. Узнав, что там нужно колдовать - плюнул и ушёл обратно в джумлу... :))))

  Ответить  
 
 автор: idel   (28.11.2012 в 17:13)   письмо автору
 
   для: Mirage   (21.11.2012 в 23:52)
 

Полностью согласен.
Я тоже хочу сделать портал. Но не хочу писать с нуля. Поэтому изучаю Zend, а потом возьмусь за Yii. Посмотрим какой из них понравиться больше. А для всяких экспериментов лучше создать специальный сайт (я свой с нуля переписал уже 3 раза, т.к. всегда там что-то хочется сделать лучше).

  Ответить  
 
 автор: elenaki   (22.11.2012 в 11:48)   письмо автору
 
   для: n1ko   (21.11.2012 в 23:00)
 

например в джумле есть следующая архитектура вида
=================================================
скольких потенциальных программистов убила эта фраза!
ничего нет в джумле! ничего того, что есть в джумле, нет в
нормальных движках! забудьте джумлу как страшный сон
и никогда не вспоминайте! для опыта надо брать учебник
и писать свой код, а не переделывать готовые шаблоны.

  Ответить  
 
 автор: n1ko   (22.11.2012 в 14:30)   письмо автору
 
   для: elenaki   (22.11.2012 в 11:48)
 

Готов поспорить. Джумла, однако, достаточно хороший движок. Не говорю про версии 1.0 или 1.5
Работаю с 2.5, 3

Нужно сперва поработать хорошо с движком, чтобы его судить...) Может Вы скажете, что битрикс наоборот хороший двиг?)
---
Но то, что нужно самому писать - верно. Пора уже получть опыт, создания больших проектов с нуля..

  Ответить  
 
 автор: Sfinks   (22.11.2012 в 18:44)   письмо автору
 
   для: n1ko   (22.11.2012 в 14:30)
 

Тогда уж сразу на C++ пишите, чтоб еще и быстрый был, как самолет =))

  Ответить  
 
 автор: n1ko   (23.11.2012 в 00:13)   письмо автору
 
   для: Sfinks   (22.11.2012 в 18:44)
 

Остроумно :)

  Ответить  
 
 автор: CrazyAngel   (26.11.2012 в 03:08)   письмо автору
 
   для: n1ko   (22.11.2012 в 14:30)
 

Я скажу что битрикс хороший двиг. Имею большой опыт работы и с тем и с другим.

  Ответить  
 
 автор: n1ko   (27.11.2012 в 01:57)   письмо автору
 
   для: CrazyAngel   (26.11.2012 в 03:08)
 

Не буду спорить, Вам лучше видно.

  Ответить  
 
 автор: cheops   (27.11.2012 в 23:30)   письмо автору
 
   для: CrazyAngel   (26.11.2012 в 03:08)
 

Хм... не готов спорить, но концепция хранения всего и вся в единой базе инфоблоков имеет свои слабости, особенно при построении проектов с крупными и тяжелыми базами. Если же работать напрямую со своими таблицами, хорошего остается мало.

  Ответить  
 
 автор: CrazyAngel   (27.11.2012 в 23:46)   письмо автору
 
   для: cheops   (27.11.2012 в 23:30)
 

Так для этого там есть механизм отделения отдельных инфоблоков в свои отдельные таблицы, причем работа ведется без изменений в коде.

  Ответить  
 
 автор: cheops   (28.11.2012 в 07:32)   письмо автору
 
   для: CrazyAngel   (27.11.2012 в 23:46)
 

Довольно куций инструмент оптимизации, по сравнению с гибкостью, которую предоставляет SQL... точнее это один из сотни инструментов.

  Ответить  
 
 автор: skydemon   (29.11.2012 в 19:57)   письмо автору
 
   для: n1ko   (21.11.2012 в 14:07)
 

Я свой портал с использованием Smarty пишу, меня устраивает)) ну это насчет шаблонов а так все зависит от воображения разработчика

  Ответить  
 
 автор: CrazyAngel   (03.12.2012 в 20:15)   письмо автору
 
   для: skydemon   (29.11.2012 в 19:57)
 

Ни разу не видел адекватного объяснения, зачем нужен смарти. Зачем язык программирования в языке программирования? все что дает смарти... да ничего оно не дает) все это делает и обычный php считай что с таким же синтаксисом.

  Ответить  
 
 автор: n1ko   (05.12.2012 в 15:56)   письмо автору
 
   для: CrazyAngel   (03.12.2012 в 20:15)
 

С одной стороны с Вами согласен... Все работадатели плюются пеной, что им нужен программист со знаниями смарти. Порой напрягает. Сколько себя помню - ниразу его не использовал, и не обделялся возможностями.

А с другой стороны... Если люди выбирают, значит он им зачем-то нужен, значит удобнее)

  Ответить  
 
 автор: cheops   (05.12.2012 в 21:25)   письмо автору
 
   для: CrazyAngel   (03.12.2012 в 20:15)
 

Там кэширование встроено, т.е. вы компилируете шаблон и используете... это многих подкупает, так как у разработчика могут не дойти руки до собственной реализации. Кроме того, если вы используете шаблон Модель-Контроллер-Представление, то использование Smarty сильно дисциплинирует, когда представление полностью создается на Smarty, в этом случае у вас не проваливается бизнес-логика из контроллера, а SQL-запрос посылать из представления крайне не удобно. С другой стороны Smarty довольно изящен по сравнению с той кашей PHP и HTML, в которые, как правило, превращаются представления. В общем, когда вы имеете дело с системой покрытой тестами, над которой работает несколько разработчиков или команд, плюсы в использовании Smarty могут появится.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования