Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mvc framework 
V
    Опции темы
icepro
Дата 26.11.2009, 03:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 20.11.2006

Репутация: нет
Всего: нет



Есть идея начать писать сабж, только перед стартом решил найти оптимальный вариант архитектуры, свой вариант приводить не буду а вот желающих прошу. Выскажитесь народ, как оптимальней сформировать сабж. Фреймворк стандартный - набор классов для работы с чем угодно (база, формы, математика, и и.д.). Больше интересует как это все красиво и оптимально впихнуть в систему MVC. Не стесняйтесь, куски кода приветствуются. Заранее спасибо!
PM MAIL   Вверх
nerezus
Дата 26.11.2009, 04:46 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



icepro, расскажи, чем именно тебе не понравились существующие фреймворки?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
icepro
Дата 26.11.2009, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 20.11.2006

Репутация: нет
Всего: нет



Вот объясните почему сегда тема начинается не по существу? Ну я же вроде вопрос задал не так: "Почему мне не нравятся существующие фреймворки?". Мне они всем нравятся, просто ради получения опыта нада кодить, вот и родилась идея.

Есть каркас MVC (ниже). Теперь нада как то оптимально начать его обвешивать классами фв. Вот тут то мне и нужна помощь. Нумен пример оптимальной архитектуры.

Код

<?

class Controller 
{
    private $input;
    private $error;
    private $data;

    function __construct() 
    {
        $this->error = false;
        $this->data = null;
        $this->input = null;
    }

    function processData() 
    {
        $this->userRequest();
        
        if ($this->error)
            View::displayError($this->error);
        else
        if ($this->data != null)
            View::displayPage('t1',$this->data);
        else
            View::displayDefaultPage();
    
    }
    
    function userRequest() 
    {
        if (isset($_GET['var']))
        {
            $this->validate();
                
            if (!$this->error) 
            {
                $model = new Model();
                $model->calculate($this->input);
                $this->data = $model->getData();

                if (!($this->data))
                {
                    $this->error = 'wrong results';
                }
                else
                {
                    $this->result = $result;
                }
            }
        }
    }
    
    function validate() 
    {    
        if (empty($_GET['var']))
        {
            $this->error = 'not valid';
        }
        else
        {
            $this->input = $_GET['var'];
        }
    }

}

class View 
{
    static function displayDefaultPage() 
    {
        echo "Default page";
    }
    
    static function displayError($error) 
    {
        echo $error;
        View::displayDefaultPage();
    }
    
    static function displayPage($template,$data) 
    {
        echo "Template - ".$template.", data - ".$data;
    }
}


class Model {

    private $data;

    function __construct() 
    {    
        $this->data = null;
    }

    function calculate($in) 
    {    
        $this->data = $in;
        $this->data = $in*$in;
    }

    function getData() 
    {
        if ($this->data)
        {        
            return $this->data;
        }
        else
        {
            return null;
        }
    }

}

$controller = new Controller();
$controller->processData();
?>

PM MAIL   Вверх
SamDark
Дата 26.11.2009, 14:49 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 10
Всего: 38



icepro, 
Из всех рассмотренных мной фреймворков больше всего понравился в плане архитектуры Yii. Посмотрите исходный код, он там довольно красивый и хорошо документирован.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
nerezus
Дата 26.11.2009, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

Вот объясните почему сегда тема начинается не по существу?
 Ну вот я и вывел ее в нужное русло ;)

Цитата

Вот тут то мне и нужна помощь. Нумен пример оптимальной архитектуры.

icepro, расскажи, чем именно тебе не понравились существующие фреймворки?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
icepro
Дата 26.11.2009, 23:47 (ссылка) |   (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 20.11.2006

Репутация: нет
Всего: нет



Цитата(nerezus @  26.11.2009,  14:55 Найти цитируемый пост)
icepro, расскажи, чем именно тебе не понравились существующие фреймворки? 

(можно было и не отвечать все-равно пользы от вашего поста я не вижу)

Я вас не понимаю, я собираюсь писать фреймворк ради того что б получить опыт!! В вашем вопросе я вижу двусмысленность:
- толи вы намекаете "пококай исходники уже готовых продуктов и разберись сам", если так то тогда зачем нужен форум, ведь явно уже ктото делал такое и наступал на какието грабли
- толи второй вариант: не парь мозги и бери готовый, но этот вариант мне не подходит, так как писать я все-равно буду.
PM MAIL   Вверх
nerezus
Дата 27.11.2009, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Пока не посмотришь готовые решения - не поймешь, как надо делать.
А если и поймешь - то вместо месяца потратишь годы.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
icepro
Дата 27.11.2009, 03:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 20.11.2006

Репутация: нет
Всего: нет



nerezus, сам то разрабатывал что то подобное? нет? тогда зачем флудить? да? тогда почему бы не посоветовать?
PM MAIL   Вверх
nerezus
Дата 27.11.2009, 03:50 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

да? тогда почему бы не посоветовать?
 Не надо дурачка разыгрывать. Я тебе дал совет. И повторил его.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
SamDark
Дата 27.11.2009, 14:06 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 10
Всего: 38



icepro, 
nerezus верно посоветовал. Задача у вас вполне стандартная, так что критически рассмотреть существующие решения — самый верный способ понять как надо (или не надо) делать.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
icepro
Дата 27.11.2009, 20:24 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 20.11.2006

Репутация: нет
Всего: нет



я не пишу МВЦ для продажи или для такого уровня как гуляют в интернете, мне нужен простой каркас, а ради каркаса гребти тонны кода как то неохото.. вот и прошу совета, кто уже стыкался с такой задачей, изложите ключевые моменты.
PM MAIL   Вверх
nerezus
Дата 27.11.2009, 20:32 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Никто тонны кода тебе смотреть не предлагает. Тебе предложили посмотреть существующие решения - какой смысл нам пересказывать документацию?

Ответ дан, тему закрываю ввиду отсутствия конструктива.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
MoLeX
Дата 28.11.2009, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140






icepro, посмотри Yii (SamDark уже об нем сказал) и CI


Цитата(icepro @  27.11.2009,  20:24 Найти цитируемый пост)
мне нужен простой каркас, а ради каркаса гребти тонны кода как то неохото..

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


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 28.11.2009, 10:06 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



icepro, в вашем вопросе я вижу двусмысленность:
- смотреть готовые фреймворки я не буду, но куски кода приветствуются. Так нужны вам эти куски, или не нужны?
"Вы или трусики наденьте, или крестик снимите", как говорится в известном анекдоте. 

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

Вообще, я считаю, что фремворк надо писать только в том случае, когда таких вопросов не возникает в принципе. Ты точно знаешь, что хочешь получить, и как это должно выглядеть. Потому что появление набора инструментов долждно быть естественным, а не искусственным. Быть естественным продолжением текущих проектов.
В противном случае лучше взять готовое. 
PM MAIL   Вверх
nerezus
Дата 28.11.2009, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43




Модератор: Сообщение скрыто.



--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0756 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.