Автор Тема: [MVC] Frameworks  (Прочетена 4104 пъти)

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
[MVC] Frameworks
« -: Mar 16, 2010, 20:13 »
Отварям нарочна тема за използването на MVC архитектура и съществуващите PHP MVC frameworks:

* http://en.wikipedia.org/wiki/Model–view–controller

* http://framework.zend.com/
* http://cakephp.org/
* http://codeigniter.com/
* http://www.symfony-project.org/

Линкове свързани с MVC атхитектурата са добре дошли.
Линкове към други open source MVC frameworks са добре дошли (дори да не са PHP базирани).

Темеата е за дискусия относно MVC архитектурата и популяризирането й.
« Последна редакция: Jul 27, 2010, 20:22 от VladSun »
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: MVC
« Отговор #1 -: Mar 16, 2010, 21:07 »
symfony-то използва MVC. Само за него се сещам в момента. Но предполага, че повечето хора във форума, които се занимават в PHP са запознати с това.

PS: Сега виждам, че си го добавил и него (само че не бях погледнал последния линк)  [_]3
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: MVC
« Отговор #2 -: Mar 17, 2010, 11:13 »
Та идеята ми е да се създават теми с практически решение и/или проблеми, като тези теми да са маркирани с [MVC] в заглавието (с цел да се улесни търсенето).
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

koleto

  • Напреднали
  • *****
  • Публикации: 52
  • Distribution: Ubuntu
  • Window Manager: Gnome
    • Профил
    • WWW
Re: MVC
« Отговор #3 -: Mar 26, 2010, 00:34 »
Много интересен канал за MVC в Youtube:
http://www.youtube.com/user/envyads

Песничка за MVC:
http://www.youtube.com/watch?v=YYvOGPMLVDo
Активен

Поражение не съществува, докато човек не се признае за победен!

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8825
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: MVC
« Отговор #4 -: Apr 10, 2010, 08:52 »
Добре де, кажете нещо и за нашенския Тангра. Чувам от разни спецове, дето са го наглеждали, бил много сериозен.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: MVC
« Отговор #5 -: Apr 10, 2010, 11:29 »
Ти ме уби - за пръв път чувам за тази рамка (предполагам, че е защото чета само чуждестранни форуми). Обещавам да я разгледам по-подробно.
На пръв поглед ми изглежда прекалено user-friendly, което малко ме притеснява, но това може да се окаже само плюс :)
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

angie_bg

  • Напреднали
  • *****
  • Публикации: 842
  • Distribution: Ubuntu 10.04
  • Window Manager: Gnome
    • Профил
    • WWW
Re: MVC
« Отговор #6 -: Jun 03, 2010, 20:37 »
Здравейте, в рамките на обучението си по php/mysql реших да направя малък сайт с данни за оперни постановки в България (кой, къде, кога, как - това е темата на дисертацията на жена ми). По сайтовете на гореизброените фреймуорки, а и на други е обяснено как съответния продукт е най-добрият, най-революционният и как напълно ще ме замени в работата. Та въпросът ми е: трябва ли ми такова чудо, при условие, че ми е достатъчен почти конзолен вид на изхода от заявките, без шаринилки, специални ефекти, фойерверки и т.н., С какво може да ми помогне фреймуорка и кой бихте препоръчали за напълно начинаещ?
« Последна редакция: Jun 03, 2010, 21:24 от angie_bg »
Активен

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8825
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: MVC
« Отговор #7 -: Jun 03, 2010, 21:29 »
Сам си си отговорил. Не ти трябва, само ще ти пречи. Ще трябва те първа да учиш напълно нов за теб синтаксис, като повечето възможности просто няма да ти трябват. За това и аз твърдо си ползвам чисто php, никакви рамки. За огромен и сериозен проект сигурно е оправдано, но не и за малко лични. Никак не се връзва да имаш цели два огрмони мегабайта да речем CI при положение, че кога няма да ти е повече от двадесет ка. Виж ако пишеш нещо огромно и в екип, си заслужава седмиците по научаване на новия синтаксис и многото допълнително място дето ще ти заеме, защото и твоя проект сигурно без него би бил пак толкова, ама с него по-бързо и лесно.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

vm13

  • Напреднали
  • *****
  • Публикации: 43
  • Distribution: Ubuntu 10.04
  • Window Manager: Gnome
    • Профил
Re: MVC
« Отговор #8 -: Jun 03, 2010, 22:54 »
аз твърдо си ползвам чисто php, никакви рамки

Аз от около година-две мъча Зенд в почти всеки проект който правя. Колкото повече минава времето, толкова повече усещам как ми ограничава свободата. Има доста полезни компоненти, с помощта на които не се налага винаги да преоткриваш топлата вода, като филтри, валидатори и други подобни, но ако трябва да напиша една доста сложна SQL заявка, използвайки само abstraction layer-a, ще бъде почти невъзможно или грозно като "да се носи през 10 планини". Та и аз съм поел back to the roots

Оправдана е употребата на рамките, когато се работи в екип, независимо от големината на проекта, защото така всичики програмисти са поставени в една и съща "рамка" - в прекия и преносния смисъл, и няма толкова много неочаквани своеволия от колегите, ако се пише безразборен (безобразен) код.

За по-обикновенни проекти, каквото му трябва на човек, почти всичко в днешно време си го има в РНР - имаш PDO или пък директно mysqli, слагаш някаква система за шаблони (не задължително smarty - в PEAR също има интересни и доста по-леки приложения), и почти си готов!
Активен

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Re: MVC
« Отговор #9 -: Jun 04, 2010, 09:07 »
Сам си си отговорил. Не ти трябва, само ще ти пречи. Ще трябва те първа да учиш напълно нов за теб синтаксис, като повечето възможности просто няма да ти трябват. За това и аз твърдо си ползвам чисто php, никакви рамки. За огромен и сериозен проект сигурно е оправдано, но не и за малко лични.

Моето мнение е точно обратното. Ще дам пример с CakePHP, който използвам - в менюъла на кейка е даден пример за създаването на уеб блог за 1 ден (примерно). Това да си напишеш сам блог на РНР, вместо да ползваш готов такъв е сравнително проста задача (не че не може доволно да си я усложниш, но в случая говоря за "малък личен проект"). Та тази относително проста задача според мен доста лесно се реализира с въпросния фреймуърк отколкото да пишеш чисто РНР.
От друга страна, колкото повече се усложнява проектът, който разработвам, толкова повече почва да ме "стяга" кейка - все по-често прибягвам до custom mysql queries вместо да ползвам функциите на фреймуърка. Според мен за голям и сериозен проект или трябва да промениш/надградиш рамката, която ползваш или да си пишеш всичко като за теб, защото вероятността фреймуърка да ти фитне на 100% е много малка и тази вероятност с усложняване на задачата намалявя прогресивно.
А и не мисля, че става дума за нов "синтаксис" - няма как да ползваш РНР фреймуърк със синтаксис на Пърл...... По-скоро става дума архитектура на апликацията и донякъде за стил на програмиране.
Активен

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8825
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: MVC
« Отговор #10 -: Jun 04, 2010, 09:23 »
Senser точно когато видях, как се пише SQL в CI изпаднах в тих ужас. Исках да се захвана с него, защото VladSun много го хвали. И действително там можеш да пишеш MVC, като си спестиш камара код, както и друг каза имаш на разположение готови много неща. Но писането на заявки там за мен си е цял нов език. От делно вече се повтарям, няма да имаш нужда от голяма част от вече готовите и поднесени функции. О да и забравих да кажа, че съм от хората дето обичат да си вгорчават живота с всякакви промени в заданието и усложняването му.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: MVC
« Отговор #11 -: Jun 04, 2010, 09:46 »
Не бих казал, че го хваля CI - просто е една от по-леките PHP рамки, които съществуват, а на мен точно такава ми трябва. Даже бих казал, че в CI има отвратителен код на места, но винаги можеш да го промениш ;)

Относно чистият SQL в MVC - колкото и пълен да е DAL-а, винаги има случаи когато трябват специфични по отношение на използвания SQL сървер заявки. Най-често това са заявки свързани с отчетната система, които трябва да са много добре оптимизирани.

За SQL заявките свързани с номенклатурата на системата бих препоръчал да се ползва някой от ORM-ите (прим. Doctrine).

Честно казано, ползването на чист SQL не е проблем според мен - всеки DAL всъщност имплементира нов SQL подобен език, нали ;)
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

ghoof

  • Напреднали
  • *****
  • Публикации: 44
  • ghoof reborned
    • Профил
Re: [MVC] Frameworks
« Отговор #12 -: Aug 01, 2010, 15:39 »
Коментари за:

http://www.veselin.bg/blog/nash-5-3-php-framework-zaschto-ne.php

и особено:

http://www.veselin.bg/blog/lithium-php-framework.php