Вопрос по прочитанному (про ООП)

Alexos

Новичок
Вопрос по прочитанному (про ООП)

Вопрос к тем, кто читал вот это http://docs.h10.ru/php_1_12.php

Опечаток там конечно море.. Вроде поправил всё, но..
У меня вопрос по той части, где речь идёт о гостевой книге и дополнительно вводится новый метод address_sql()

Объясните тупому.. хоть убей не понимаю

1) зачем в связи с этим в определении класса вводится массив VAR $sql = array();

2) и абсолютно не понимаю конец метода address_sql()
...
$sql_array_key = $variable_name;
$this->sql[$sql_array_key] = $complete_table;

// Включить ключ в массив variables для последующего поиска
$this->variables[$file_id][] = $variable_name;
...

Буду очень благодарен, если кто-нибудь не сочтёт за труд и разжуёт мне эти вопросы.
 

Vasya

Guest
VAR $sql = array();
создется массив, куда, видимо покладут SQL :)

$sql_array_key = $variable_name;
sql_array_key -- массив, видимо, ассоциативный (хэш)

$this->sql[$sql_array_key] = $complete_table;
ключу сопоставляется значение.

Возможно кешируется результат SQL-запроса. А сам запрос служит ключем. Ну, чтобы не лезьть каждый раз в базу...

Оригинальный код не смотрел. Лениво! :)
 

Alexos

Новичок
приложения мои стали разростаться до неприличия :) и я решил постепенно на ООП переходить.. а то поддерживать стало как-то совсем тяжко..
всё никак не решусь я за смарти браться.. на инглише ломает как-то.. вот и нашёл для начала примерчик небольшой.. да вот до конца его не понимаю.. плюс ко всему он не рабочий у меня почему-то - содержимое вложенного шаблона rows.addresses с подставленными значениями из базы вообще не выводится.. вот я и думаю, что может где-то ошибка в примере.. и хочу разобраться.

я не понимаю как стыкуется основной шаблон из book.html c вложенным rows.addresses

Вот этот кусок кода ускользает от моего понимания:
----------------------------------------------------
$this->sql[$sql_array_key] = $complete_table;

// Включить ключ в массив variables для последующего поиска
$this->variables[$file_id][ ] = $variable_name;
-----------------------------------------------------

извиняюсь за тупость.. переклинило что-то..
 

Vasya

Guest
Атрибут $variables представляет собой двухмерный массив для хранения файлового идентификатора (ключа) и всех соответствующих переменных, обрабатываемых в схеме шаблонов.

Параметр $file_id содержит идентификатор — «псевдоним» для последующих операций с файлом, упрощающий последующие вызовы метода. Идентификатор используется в качестве ключа для индексирования массива $files.

... переменных, которые должны заменяться своими значениями в зарегистрированных файлах
Соответственно:
PHP:
$this->variables[$file_id][ ] = $variable_name;
тут в строку $file_id, двумерного массива $this->variables, добавляется имя пришедшей переменной. (Операция "[]")

А вообще, для лучшего понимания всех этих "что там происходит?" -- запусти тестовое ЭТО :) и распечатывай все, что тебе непонятно.
Например, так:
PHP:
print_r($this->variables);
 
Сверху