Можно и так, с помощью "полноправных" методов.
Вот обрезанный "кусок" из двух классов - "движка" для выбора картинок и "посредника", который собирает информацию для вывода на страницу
| Код |
package TumbnailsByKeywordId; # "движок" для выбора списка картинок по (одному) ключевому слову
... sub images { # # ссылка на массив информации по картинкам # (в формате шаблона HTML::Template) # # @IMAGES # ID - ID картинки # WIDTH - ширина # HEIGHT - высота # ... # my $self = shift; $self->{'IMAGES'} = [] unless(defined $self->{'IMAGES'}); if (@_) { $self->{'IMAGES'} = \@_; } return $self->{'IMAGES'}; }
sub select { # my $self = shift;
my ($data, @images); # ... выбирает, в частности, картинки ... while ($data = $sth->fetchrow_hashref ) { # данные из запроса к БД ...здесь была их предварительная обратотка... # push @images, $data; } $self->images(@images); ... }
|
| Код | ... Где-то в другом классе-посреднике по подготовки данных для страницы... ... my $aTumbnails = new TumbnailsByKeywordId ($self); # # подготовка параметров $aTumbnails->keywordId($keywordId); ... $aTumbnails->select; # выбор # # передача шаблону $self->addToTemplateData( 'KWD_IMAGES' => $aTumbnails->images, # картинки ... ); }
|
|