|
|
|
| Здравствуйте ув. форумчане, знатоки и только начинающие.
Вот решил создать, по моему мнению, важную тему... Я думаю каждый начинающий, а может и нет (в частности я, вот написал свой первый движок для интернет-магазина, но этот вопрос возник), иногда задумывается над таким вопросом: Как правильно, а главное гибко, организовать структура сайта... Особенно этот вопрос обостряется когда речь начинает идти о создании сайта, уже не статичного, а динамичного. Я много раз слышал о том что надо организовывать все по типу модульной структуры. Это понятно, но я не могу найти четкой литературы по этому вопросу. Возникает множество вопросов: как правильно организовывать эти модули, какие данные и в каком виде нужно передавать, принимать, как правильно писать код модуля что бы он не мог как либо повлиять на другой модуль, и т.д. Просто хотелось бы чтобы уже знающие люди могли поделится своим бесценным опытом с только обучающимся.
З.Ы. Если эта тема кажется модераторам глупой, то удаляйте, но если вы со мной согласны, то попрошу хотя бы на время ее прикрепить.
Всем заранее спасибо. | |
|
|
|
|
|
|
|
для: gromsky
(13.08.2009 в 21:52)
| | Скачайте исходник этого форума - это и будет ответ на ваш вопрос. Хотя на мой взгляд - немного перемудрили. Но эт тока на мой взгляд. | |
|
|
|
|
|
|
|
для: Рома
(13.08.2009 в 22:55)
| | Не думаю что код данного форума является эталонным... | |
|
|
|
|
|
|
|
для: @ndry
(14.08.2009 в 16:13)
| | А вообще существует где-нибудь эталонный код? | |
|
|
|
|
|
|
|
для: Саня
(14.08.2009 в 16:16)
| | Нет, но есть код, который написан более "продвинуто". Примеров много... Пусть бы лучше человек разобрался в любом ТОПовом фреймворке. | |
|
|
|
|
|
|
|
для: gromsky
(13.08.2009 в 21:52)
| | Во-первых, даже если модератору эта тема покажется глупой, то он её не закроет, а, максимум, перенесёт в соответствующий раздел. И не прикрепит.
Во-вторых, насколько я понял, вас интереут движок. Значит вы уже обучились каким-то основам и готовы двигаться дальше. Могу посоветовать начать изучение zend framework. Да сложно. Да непонятно. Но вы всегда можете задать вопрос тут или на тысяче других форумов. Вы всегда сможете обратиться к прекрасной справке, которая поставляется с ZF (уж что что, но справка, поставляемая со всеми продуктами от zend technologies, всегда была очень хорошей).
В третьих, есть такое понятие как "шаблоны проектирования". Изучите их. | |
|
|
|
|
|
|
|
для: Саня
(13.08.2009 в 22:57)
| | Попротивлюсь. Не надо изучать никакой движок. Надо научиться думать. | |
|
|
|
|
|
|
|
для: Рома
(13.08.2009 в 23:39)
| | А чем плохо, что создатели ZF подумали за меня, а я, изучив его, узнал много нового? | |
|
|
|
|
|
|
|
для: Саня
(13.08.2009 в 23:44)
| | Ключевое выражение - подумали за меня.
Пока вы будете думать, что любой движок есть идеал программирования - вы хреновый программист.
Всегда надо думать, как можно сделать лучше, быстрее, оптимальнее.
Всегда надо думать, а как бы сделал ты на месте разработчиков.
Всегда надо думать. Точка. | |
|
|
|
|
|
|
|
для: neadekvat
(13.08.2009 в 23:57)
| | > Пока вы будете думать, что любой движок есть идеал программирования
Можно точную цитату из моих высказываний, где я считаю движки (и, в частности, zend framework) идеалом программирования? | |
|
|
|
|
|
|
|
для: Саня
(14.08.2009 в 09:26)
| | К вам обращена только первая строчка, дальше я отвечал автору.
Вы, по-моему, не нуждаетесь в ответе на поставленный автором вопрос.
А говорил я по своему опыту. Когда я только переменным значения присваивать научился и лез разбирать Джумлу, казалось, что это просто непостежимо.. | |
|
|
|
|
|
|
|
для: neadekvat
(14.08.2009 в 14:37)
| | Вы наверное пропустили фразу "Значит вы уже обучились каким-то основам и готовы двигаться дальше." в (13.08.2009 в 22:57). | |
|
|
|
|
|
|
|
для: Саня
(14.08.2009 в 14:54)
| | Пропустил.
Но вы считаете, что то, что я описал выше, было лишь со мной? | |
|
|
|
|
|
|
|
для: neadekvat
(14.08.2009 в 15:02)
| | За всю свою практику я написал немало кода. В конце концов у меня через длительное время выработались некоторые схемы, которые удачно ложились на определённый класс задач. А потом я узнал про шаблоны проектирования...если бы я узнал о них раньше, то мне не потребовалось бы столько времени, чтобы выработать эти схемы. Мне вообще не пришлось бы их вырабатывать, потому что за меня это уже сделали, причём давно.
Ничто в мире не делается с нуля. Это просто-напросто нерентабельно. Вот понадобилось мне написать скрипт распаковки zip архива. Я не пойду читать спецификацию этого формата, я просто возьму pclzip и решу свою задачу в гораздо более короткий срок, чем если бы я писал механизм распаковки самостоятельно. | |
|
|
|
|
|
|
|
для: Саня
(14.08.2009 в 15:03)
| | php написан на C++, ZF написан на php, а вы пишите под ZF
Нет, ваши детища не будут скуднее, чем если бы вы писали под php
Но ваши знания будут не совсем полные.
Я не говорю отказаться от фреймворков - они действительно облегчают задачу. Но все-таки, если у пхп-программиста отберут фреймворки, он должен уметь сделать то же самое, но с нуля своими силами. Не так ли? | |
|
|
|
|
|
|
|
для: neadekvat
(14.08.2009 в 15:09)
| | Если отберут PHP, то что? А если C++? Операционную систему? Если так дальше спускаться по дереву, то жизни не хватит на достижение полного знания.
Даже если я соберусь писать свою ОС, то я скачаю исходники линукса и посмотрю как там сделано. Разве это не дополняет знания? Я же ведь могу придумать свою реализацию, допустим, семафоров. А потом глянуть как это сделано в linux. Или же я могу сразу посмотреть как реализованы семафоры в linux и попробовать реализовать лучше.
PS
Я уже где-то писал, что не пишу на ZF. Я его просто изучаю. Так же я вряд ли буду когда-либо использовать django, потому что не собираюсь писать сайты на python. Хоть и изучаю python через django. | |
|
|
|
|
|
|
|
для: Саня
(14.08.2009 в 15:14)
| | Вы кидаетесь в крайности.
И я не говорил, что нужно сидеть в танке и писать все самому.
Я сам оченьдофига скачиваю готовые скрипты и по косточкам их разбираю, ища в документации описание функций, мне не знакомых. | |
|
|
|
|
|
|
|
для: neadekvat
(14.08.2009 в 15:37)
| | Ну вот видите? Зачем же вы тогда так отрицательно среагировали на моё предложение познать программирование через изучение ZF? | |
|
|
|
|
|
|
|
для: Саня
(14.08.2009 в 15:55)
| | Кстати ZF слишком монстрообразен для "зелёного" программиста. Плавать нужно учиться постепенно, а не начинать сразу пытаться переплыть океан... | |
|
|
|
|
|
|
|
для: Саня
(14.08.2009 в 15:55)
| | Да нет же. Вы не так прочли пост. Считайте, что я просто ответил немножко не туда. Надо было ответить автору темы, а не вам. | |
|
|
|
|
|
|
|
для: Саня
(14.08.2009 в 15:55)
| | полностью вас поддерживаю!
в поддержку могу сказать:
1. использовать любой ЗФ- не значит, что он будет делать все за тебя - будет над чем подумать.
2. написать свой ФВ - зачем? изобретать велосипед?к тому же, никогда не сделать также(не говоря уже о лучшем)
3. по ЗФ - мануал, куча статей, в которых ответы на все свои вопросы автор темы обязательно найдет.
UPD
@neadekvat
>>Но ваши знания будут не совсем полные.
не согласен. приведите пример того, чтО я не буду знать в случае изучения ЗФ.
@ @ndry
>>Кстати ZF слишком монстрообразен для "зелёного" программиста. Плавать нужно учиться
>>постепенно, а не начинать сразу пытаться переплыть океан...
а никто и не говорит, что не изучив хорошо ЗФ сразу надо написать мега проект!
попробуйте написать блог.
если знаешь ООП, умеешь работать с БД - вперед!
сначала узнаете что такое MVC.
подключаете фв, пишете простой контроллер, создаете скрипт вида - и вуаля, что-то уже работает! потом создаете модель и тд. все постепенно! что же тут сложного? почему океан? | |
|
|
|
|
|
|
|
для: ride
(14.08.2009 в 16:54)
| | Спор совершенно пустой.
Правы по моему все, просто у всех разные взгляды и разный менталитет. Кто то хочет сделать много много проектов, облегчая себе жизнь готовыми решениями, а кто то озабочен тем, что бы эти решения были. Ведь и Зенд кто то разрабатывал, а могли бы пользоваться каким нибудь Cake допустим и считать его вершиной творения... Все зависит от целей, задач и характера человека. | |
|
|
|
|
|
|
|
для: Николай2357
(14.08.2009 в 18:07)
| | >>облегчая себе жизнь готовыми решениями
думаю, к этому должен стремиться любой программист.
>>Кто то хочет сделать много много проектов
и к этому тоже
>>Ведь и Зенд кто то разрабатывал, а могли бы пользоваться каким нибудь Cake допустим и считать
>>его вершиной творения... Все зависит от целей, задач и характера человека
А мы здесь не спорим о том, какой фв круче, тем более я не говорил о том, что зф хуже всех. | |
|
|
|
|
|
|
|
для: ride
(14.08.2009 в 18:27)
| | Вот Вы сами и ответили:
>думаю, к этому должен стремиться любой программист.
А многие ( и Ваш покорный слуга в их числе) думают иначе. Вернее не совсем так думают. И в тайне надеятся сделать свои решеня, лучше готовых.
>и к этому тоже
и тут у меня прямо противоположная точка зрения. Я считаю что лучше меньше, но оптимальнее. И по этому стараюсь избегать фреймворков по мере возможности.
И уж тем более я не говорил что что то хуже или лучше. Я говорил о том, что есть люди, которые не успокаиваются имеющимся арсеналом. Вот они и рождают Зенды и иже с ними.
Предвосхищая - ни в коей мере не имею ввиду что моя точка зрения должна превуалировать. Я просто говорю о том, что точки зрения бывают разные и все правы по своему. | |
|
|
|
|
|
|
|
для: Николай2357
(14.08.2009 в 18:45)
| | >>А многие ( и Ваш покорный слуга в их числе) думают иначе. Вернее не совсем так думают. И в тайне
>>надеятся сделать свои решеня, лучше готовых.авы по своему.
лучше чем целая команда зенда :)?
имхо, не стОит тратить время на изобретение велосипеда.
Ни к чему хорошему это не приведет. За это время можно узнать куда более интересные и полезные вещи
мы немного уходим от темы.
Автора темы интересовал вопрос о правильности. г-н Саня дал совет, я его поддержал.
думаю, не стоит продолжать, все равно наши с вами посты будут удалены модератором:) | |
|
|
|
|
|
|
|
для: ride
(14.08.2009 в 19:22)
| | >лучше чем целая команда зенда :)?
А я про что... Многие так и думают. А вот целая команда Зенда думает не так. И делает.
/>Автора темы интересовал вопрос о правильности. г-н Саня дал совет, я его поддержал.
Автор сам будет выбирать себе дорогу, я просто высказал свое мнение.
Что бы у него не сложилось Ваших стереотипов.
PS А про модераторов... Почему то Softtime не пользует Зенд, а пишет свой, собственный фреймворк... Может и удалит конечно, но причин я не вижу. | |
|
|
|
|
|
|
|
для: Николай2357
(14.08.2009 в 19:29)
| | >>лучше чем целая команда зенда :)?
>А я про что... Многие так и думают. А вот целая команда Зенда думает не так. И делает.
ну так последуйте примеру этой команды: создайте свою библиотеку. и катайтесь.
>/>Автора темы интересовал вопрос о правильности. г-н Саня дал совет, я его поддержал.
>Автор сам будет выбирать себе дорогу, я просто высказал свое мнение.
>Что бы у него не сложилось Ваших стереотипов.
вы, как мне кажется, только лишь опровергали, а дельного совета автору темы ни одного не дали. | |
|
|
|
|
|
|
|
для: ride
(14.08.2009 в 19:53)
| | >вы, как мне кажется, только лишь опровергали, а дельного совета автору темы ни одного не дали.
Ничего я ни разу не опроверг. А советов не давал, правильно. Неблагодарное это дело - в таком деле советовать. Я просто высказал свою точку зрения. Что бы автор (и не только) мог выбрать. А то он может подумать, что есть только один путь - Ваш. А потом спохватится и будет жалеть о потерянном времени. | |
|
|
|
|
|
|
|
для: Николай2357
(14.08.2009 в 20:33)
| | ну, если не хотите давать советов, значит не уверены, а коли так - будьте добры не высказывать не доказанных (читай пустых) мнений.
>>А то он может подумать, что есть только один путь - Ваш
повторюсь - покажите правильный путь.
вы просто никогда не работали с фв, иначе у вас было бы совершенно другое мнение. | |
|
|
|
|
|
|
|
для: ride
(14.08.2009 в 23:42)
| | Я не хочу давать советов, потому что человек волен сам решать, что ему делать. Я могу только показать, какие есть пути. Выбирать он будет сам.
>вы просто никогда не работали с фв, иначе у вас было бы совершенно другое мнение.
А вот тут Вы не правы в очередной раз. И по этому советам Вашим - грош цена. Так как опять однозначно утверждаете то, что абсолютно не имеет под собой никакой почвы.
Я как раз по долгу службы очень часто имею дела с различными фреймворками. Так как оптимизирую сайты, меняя или добавляя в них функционал. Потому и имею такое мнение. Мне часто приходится сталкиваться с такими откровенными "поделками", что диву даешься. Я писал об этом выше. Просто люди зачастую совершенно не отдают себе отчет в том, что совсем не обязательно ставить Зенд, чтобы написать гостевую книгу (это я утрирую конечно)
Повторю еще раз - ни кого, Вас в первую очередь, я не пытаюсь в чем либо переубедить. Делайте что хотите и как хотите. Просто человек должен знать, что не на одних фреймворках мир держится. Иногда достаточно подумать своей головой, а не дядиной. | |
|
|
|
|
|
|
|
для: ride
(14.08.2009 в 23:42)
| | Перед тем как работать с фреймворком нужно самому уметь писать базовый функционал.
Именно об этом и писал Саня,
а
>2. написать свой ФВ - зачем? изобретать велосипед?к тому же, никогда не сделать также(не говоря уже о лучшем)...
Грош цена программисту который так думет. | |
|
|
|
|
|
|
|
для: root
(15.08.2009 в 00:09)
| | >>Перед тем как работать с фреймворком нужно самому уметь писать базовый функционал.
это не к месту. я и не говорил, что пхп надо учить начиная с фв
а Саня писал о том, что если знаешь базовые вещи, можно приступить к изучению фв, благодаря чему автор темы получит ответы на все свои вопросы. читайте внимательнее.
>>Грош цена программисту который так думет.
я давно заметил, что на этом форуме многие участники бьют по раскрытой груди с криком
"Я - супер программист! Я все могу сделать сам! Мне со стороны ничего не надо"
но в проектах средней сложности и выше - это не к месту:
То время, которое вы потратите на реализацию каких-то базовых вещей, я потрачу на проработку архитектуры, реализацию какого-либо функционала.
+если работать в команде - вероятность того, что ваши новые коллеги будут знать известный фв больше вероятности того, что они будут знать ваш.
плюсов куча!
и мы опять уходим от темы
@Николай2357
вы опять уводите тему в другую сторону.
я и не говорил что обязательно "ставить" Зенд, чтобы написать гостевую книгу.
я говорил, что фв изучить надо, но не говорил, чтобы использовать его повсеместно.
ЗЫ
где-то когда-то я видел коммент программиста, который сказал такие слова(точно не помню, но примерно так):
почему-то именно пхп программисты стараются написать свой фреймворк, цмс, форум, но не берут готовые решения.
ЗЗЫ
по поводу фв софттайма(как-то не увидел это раньше): я его не изучал, но все же есть сомнения, что он такой же мощный, как и ZF. | |
|
|
|
|
|
|
|
для: ride
(15.08.2009 в 09:21)
| | [i/>]@Николай2357
вы опять уводите тему в другую сторону.
я и не говорил что обязательно "ставить" Зенд, чтобы написать гостевую книгу.
я говорил, что фв изучить надо, но не говорил, чтобы использовать его повсеместно.
Да Бог с Вами. и в мыслях не было... Уводить... Ну пожалуйста, если Вы познали мир так, как ни кто другой, (да не себя имею в виду))), советуйте. Пусть люди не
>бьют по раскрытой груди с криком
"Я - супер программист! Я все могу сделать сам! Мне со стороны ничего не надо"
Пусть следуют правилам Вашего любимого зенда, если есть желание.
Вы что так ерипенитесь... Как буд то Вас обвинили в невежестве... Да Бог с Вами, пусть будет это круто, а я пусть буду лох недоразвитый, я же не настаиваю... На опилках табуретки... Здаюсь, здаюсь. ZEND forever))) | |
|
|
|
|
|
|
|
для: Саня
(13.08.2009 в 23:44)
| | Хочу свое мнение высказать, если позволите. Меня всегда напрягает избыточность. Иногда (да довольно часто) делают небольшие сайты - визитки, в кторых функционала то прайс да книга отзывов, с применением Битриксов, Зендов или других серьёзных многофункциональных платформ. Наверное потому, что просто по другому не умеют или не считают нужным уметь...
Как то неуютно это и не рационально, ставить таких монстров для пары-тройки страниц.
Да, это проще и, наверное, для кого то удобнее. Но уж больно некрасиво... | |
|
|
|
|
|
|
|
для: Николай2357
(14.08.2009 в 09:03)
| | Я не предлагаю им пользоваться. Я предлагаю изучить его изнутри. Посмотреть как делают профессионалы, подумать почему они так сделали, погуглить если что-то непонятно, спросить на форуме, наконец. | |
|
|
|
|
|
|
|
для: gromsky
(13.08.2009 в 21:52)
| | > Как правильно, а главное гибко, организовать структура сайта
Не существует правильной и гибкой структуры сайта. Вы должны понимать, что для конкретного случая могут подходить конкретные решения, которые абсолютно не подходят под другой случай. | |
|
|
|
|
|
|
|
для: gromsky
(13.08.2009 в 21:52)
| | Гибкость обратно пропорциональна сложности. Так что изучить гибкую систему не так-то просто. Как правило, это многомегабайтный монстр.
Так что лучше идти от простого к сложному небольшими шажочками. Ну а если непременно надо форсировать развитие, то тогда действительно надо зарыться в чужой код, так как его разработчики уже шишек набили. К сожалению, не имея собственных шишек, Вы не поймете многих решений примененных в гибких системах. | |
|
|
|
|
|
|
|
для: Loki
(14.08.2009 в 00:58)
| | Только гибкость системы все-таки прямо пропорциональна сложности её написания | |
|
|
|
|
|
|
|
для: neadekvat
(14.08.2009 в 14:38)
| | ну да - это я и имел ввиду... | |
|
|
|
|
автор: temp (14.08.2009 в 09:15) |
|
|
для: gromsky
(13.08.2009 в 21:52)
| | >Я много раз слышал о том что надо организовывать все по типу модульной структуры.
>Это понятно, но я не могу найти четкой литературы по этому вопросу.
У Котерова в книге "PHP5 Наиболее полное руководство" имеется немного примеров для начала.
В Internet этой книги скачать полно, в различных форматах.
Думаю для общего представления вполне.
Опять же google, yandex вам в руки, запросы типа: шаблоны, mvc... дальше больше. | |
|
|
|
|
|
|
|
для: temp
(14.08.2009 в 09:15)
| | Я бы даже посоветовал купить эту книгу, а не скачивать её из интернета | |
|
|
|
|
автор: temp (14.08.2009 в 09:50) |
|
|
для: Valick
(14.08.2009 в 09:23)
| | Ну в общем-то да!
Читать удобнее! | |
|
|
|