E-mail Печать

Шаг 6. Создание Класса Таблицы БД

Мы могли бы написать собственные функции, для того чтобы добавлять, обновлять, и удалять записи из таблицы БД. Но в Joomla! уже существует класс JTable обеспечивающий функции для работы с базой данных. Чтобы использовать JTable, мы должны написать расширение для нашего компонента.

В папке administrator/components/com_goodtimes, создадим папку tables. В этой папке, создайте файл goodtimes.php и добавьте в него следующий код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

defined('_JEXEC') or die('Restricted access');

class TableGoodtimes extends JTable
{
var $id = null;
var $name = null;
var $address = null;
var $review = null;
var $notes = null;
var $smoking = null;
var $credit_cards = null;
var $review_date = null;
var $published = null;

function __construct(&$db)
{
parent::__construct( '#__goodtimes', 'id', $db );
}
}

?>

Когда мы расширяем класс JTable, мы добавляем все колонки таблицы базы данных как переменные и устанавливаем их значения в null. Также мы создаем свой конструктор, не используя конструктор класса. В минимуме наш метод __construct () возьмет объект базы данных как параметр и вызовет родительский конструктор, использующего имя таблицы базы данных (где # __ является префиксом таблицы), первичный ключ, и объект базы данных.

Title 1

Text 1.

Title 2

Text 2.

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

Mark
 
Интересная статья? Поделись ей с другими:

Комментарии  

 
-9 # 13.07.2010 09:38
Зачем - это лишнее присваивание значения?! - ну проще это было сделать сразу в "шаг 5", да и объем обоих файлов был - бы короче?!, при том - где смысл в том что в шаге 5 идет отрицание значения null, а здесь мы его прописываем при том всем полям таблицы?!
Ответить | Ответить с цитатой | Цитировать
 
 
+2 # 14.08.2010 22:30
robotsall, кажется, прав

В статье "How to use the JTable class" по адресу
http://docs.joomla.org/How_to_use_the_JTable_class
написано следующее:

if you have columns that are NOT NULL, you must use a value other than 'null' as the default.
Ответить | Ответить с цитатой | Цитировать
 
 
+5 # 28.08.2010 01:07
Вы, уважаемые, слышали о такой вещи, как "инициализация переменной"?
Ответить | Ответить с цитатой | Цитировать
 
 
+3 # 10.01.2011 22:03
В PHP инициализация полей по-умолчанию и так null
Ответить | Ответить с цитатой | Цитировать
 

Добавить комментарий


Защитный код
Обновить