Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Аналог приведенного подхода, Ооочень хочется перейти с PHP на Java 
:(
    Опции темы
Platon
Дата 24.9.2007, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Здравствуйте, уважаемые.

Осень хосеса перейти на Java с PHP, но что-то пока усилия тчетны.
В PHP я выработал вполне прозрачную схему представления данных.

И так поехали.
Код

class View {
    
    function View() {
        
    }
    
    function fetch() {
        ob_start();
        $this->display();
        $res = ob_get_contents();
        ob_end_clean();
        return $res;
    }
    
    function display() {
        $this->_done();
    }
    
    function cancel() {
        ob_end_clean();
    }

    function _done() {
    }
}

Класс, родитель для всех остальных "представителей", может сразу выводить данные в stdout или выводить в строку.

остальное:
Код

class Widget extends View {
    function Widget($name) {
        $this->name = $name;
    }

    function _done() {
        include dirname(__FILE__) . "/widget_template.tpl";
    }
}


widget_template.tpl

Код

<b>Привет <?= $this->name ?></b>


Код

class ViewFrame extend View {

    function ViewFrame(&$widget) {
       $this->widget =& $widget;
    }

    function _done() {
        include dirname(__FILE__) . "/view_frame.tpl";
    }
}

view_frame.tpl:
Код

<html>
<head>
</head>
<body>
<?php $this->widget->display() ?>
</body>
</html>


Ну, как бы, собственно, всё. Все кусочки потом благополучно собираются и можно управлять их положением всяко-разно (ну, это я так, для пафоса).

В принципе, почитав по форуму, увидел, что есть Velocity, по-моему очень подходящая аналогичная модель строительства страниц, если нет пожалуйста поправьте.
Единственное и думаю весомое, могут ли данные в Velocity сразу выводиться, а не копиться в памяти до самого последнего момента.
Имею ввиду: ViewFrame хранит не кусок HTML - кода widget'а, а только объект, который, когда его попросит ViewFrame, выдает свой код. При этом, если Widget что-то долго думает, работает с БД, шапка ViewFrame уже улетела клиенту.
PM MAIL ICQ   Вверх
Aoli
Дата 24.9.2007, 22:16 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: -1
Всего: 0



Ужас.
Может, не надо переходить на Яву? smile
Там ООП.
Необходимо уметь красивую архитектуру построить.
Куча страшных фраемворков. (И velocity - один из простейших.)
Придется ставить тяжелый сервер приложений.
Хостинг дорогой...
PM WWW ICQ   Вверх
Platon
Дата 25.9.2007, 06:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Aoli, это сарказм?! В таком случае прошу не издеваться, 

ООП я уважаю.
Насчет красивой архитектуры конечно надо будет постараться.
Фреймворки... ну, пока без них можно пожить. Velocity на сколько я знаю не фреймворк.
Тяжелый сервер, но более эффективный.
Хостинг... нет, это для личных целей, возможно и сервак свой.

Я бы и продолжал оставаться на PHP, если бы не его убогость.
Несколько раз покушался сделать игрушку на PHP, не хватает динамики :( да и отсутствие типов раздражает, а от их отсутствия путевого IDE нет.
PM MAIL ICQ   Вверх
Platon
Дата 25.9.2007, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Мдеее, кроме как поиздеваться, ничего не услышал.
Чтож, придется лезть в гору своими силами.
PM MAIL ICQ   Вверх
Tony
Дата 25.9.2007, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



To 4to ты привёл називается custom tag.

Добавлено через 7 минут и 8 секунд
Тоесть идея такая: пишешь в jsp tak:
<%@ taglib uri="ww.some.com" prefix="а"  %>
<strong><a:time format="dd-MM-yyyy"/></strong>
a связан с библиотекой в каторй описан тег time, time в сою о4ередь описан с каким то классом(связан) там ты и пишеш реализацию.


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Platon
Дата 25.9.2007, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Tony, огромное спасибо! начало положено, будем копать.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

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


 




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


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

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