Меню

Webasyst настройка базы данных



База данных

Работа с базой реализует слой «модель» в терминологии MVC. В состав фреймворка входит абстрактный класс waModel для описания модели. Классы описания сущностей предметной области приложения наследуются от waModel .

Файлы классов модели размещаются в файловой структуре приложения в подкаталоге приложения lib/models/ .

В описании модели есть только одно обязательное поле — название таблицы в базе данных в переменной $table . Пример класса описания модели:

Модель инициализируется в коде приложения следующим образом:

В этом примере blog — это пример идентификатора приложения. После инициализации модель получает от базы данных описание указанной таблицы (с помощью запроса DESCRIBE $table ) и кеширует его. На этом этапе определяется главный ключ (primary key) таблицы, определяются поля и их типы.

В коде контроллеров и экшенов все взаимодействие с базой данных происходит исключительно через классы моделей приложения:

Класс waModel содержит ряд сервисных методов для автоматического построения SQL-запросов, что позволяет достичь независимости кода приложения от конкретного вида используемой СУБД.

Методы автоматического построения SQL-запросов

Запросы SELECT

Запросы UPDATE

Запросы DELETE

Запросы INSERT и REPLACE

Выполнение SQL-запросов, записанных в явном виде

Во фреймворке доступны два основных метода модели для выполнения SQL-запросов — query и exec . Первым параметром они принимают SQL-запрос, а вторым — необязательный массив значений для плейсхолдеров.

Пояснения к примеру:

  • i:id — это именованный плейсхолдер, в котором i указывает на тип Integer (то есть значение, полученное из массива, будет приведено к целочисленному типу);
  • id — ключ в массиве значений;
  • array(‘id’ => $id) — массив значений.

Доступные для использования типы значений плейсхолдеров:

Если тип плейсхолдера явно не указан (например, в запросе просто используется :id , то по умолчанию используется тип String ). Использование плейсхолдеров упрощает построение запросов, а главное исключает возможность написания небезопасных SQL-запросов, подверженных SQL-инъекциям.

Использование плейсхолдеров не является обязательным, однако в случае отказа от них разработчик должен самостоятельно позаботиться о подстановке данных в запрос. Здесь может быть полезным метод модели escape , который экранирует строки (при использовании СУБД MySQL его работа аналогична результату выполнения функции mysql_real_escape_string ):

Единственное отличие между методами query и exec заключается в результате, который они возвращают.

Метод query($sql, $params = null)

Метод выполняет SQL-запрос и возвращает объект результата. Тип возвращаемого объекта зависит от типа запроса:

  • для SELECT-запросов возвращается объект типа waDbResultSelect ,
  • для INSERT-запросов — waDbResultInsert
  • для UPDATE-запросов — waDbResultUpdate
  • для DELETE-запросов — waDbResultDelete

Запросы SELECT

Возвращается объект результата типа waDbResultSelect , который можно использовать, например, в цикле foreach . Примеры работы с waDbResultSelect :

Запросы DELETE и UPDATE

Возвращается объект результата типа waDbResultDelete и waDbResultUpdate .

Читайте также:  Настройка dir 100 свое

Запросы INSERT

Возвращается объект типа waDbResultInsert .

Метод exec($sql, $params = null)

Метод выполняет SQL-запрос и возвращает результат, полученный от адаптера работы с БД (в случае с MySQL возвращается результат выполнения функции mysql_query ). Этот метод стоит использовать в тех случаях, когда результат выполнения запроса не нужен или достаточно проверить, успешно ли выполнился запрос.

Конструктор SELECT-запросов

SELECT-запросы можно строить с помощью простого конструктора запросов, например:

Рекомендации по реализации дополнительных методов модели в приложении

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

Все методы для работы с одной таблицей реализуются в соответствующем классе модели. В дальнейшем вы можете усовершенствовать эти методы модели (например добавлять кеширование).

Рекомендуется большинство операций с конкретной таблицей БД реализовывать в собственных методах модели, не привязанных к названию полей. Это позволит в случае рефакторинга данной таблицы внести изменения лишь в один файл — в код класса модели.

Подключение к другим базам данных

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

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

Создание постоянной конфигурации подключения

Если вы планируете многократно использовать в вашем приложении подключение к другой (какой-то определенной) базе данных, добавьте параметры подключения в конфигурационный файл фреймворка wa-config/db.php в виде дополнительного массива, как показано в примере:

В приведенном выше примере добавлена новая запись с параметрами подключения, условно обозначенная как extra . Для подключения к базе данных wordpress (в данном примере) необходимо в PHP-коде приложения создать экземпляр модели следующим образом:

При использовании методов созданной таким образом модели обращение будет выполняться только к базе данных, имя которой указано в соответствующей конфигурации.

Динамическое указание параметров подключения

Если использовать постоянное подключение к какой-то заранее известной базе данных не планируется, то при создании экземпляра модели параметры подключения можно указать явно — в виде массива данных. Пример создания модели в PHP-коде приложения таким способом показан ниже:

Оба приведенных выше способа подключения к другой базе данных применимы не только к экземпляру базового класса waModel , но и к экземплярам классов моделей вашего приложения (например, myappSomeModel ):

При использовании таких подключений в моделях вашего приложения дополнительные (созданные вами) методы этих моделей должны учитывать структуру таблиц указываемой базы данных.

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

Читайте также:  Outlook 2010 настройка автообновления

Webasyst — это CMS нового поколения, совмещающая в себе инструменты для управления сайтом и интернет-магазином с полезными приложениями для совместной работы с коллегами и взаимодействия с клиентами. Единый центр управления бизнесом через интернет.

Платформа
Магазин Webasyst
Помощь

Мы получаем и обрабатываем персональные данные посетителей сайта в соответствии с Политикой обработки персональных данных. Отправка персональных данных с помощью любой страницы сайта подразумевает согласие со всеми пунктами Политики.

Источник

Где находятся настройки подключения к БД в CMS

Где находятся настройки подключения к БД в CMS

WordPress

В корневом каталоге вашего сайта в файле wp-config.php найдите строки:

  • u77777_database — база данных, которую использует сайт;
  • u77777_dbuser — пользователь, от имени которого сайт подключается к базе данных;
  • password — пароль, с которым сайт подключается к базе данных .

Joomla

В корневом каталоге вашего сайта в файле configuration.php найдите строки:

  • u77777_dbuser — пользователь, от имени которого сайт подключается к базе данных;
  • u77777_database — база данных, которую использует сайт;
  • password — пароль, с которым сайт подключается к базе данных .

Bitrix

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

Bitrix с новым ядром D7

Начиная с версии «1С-Битрикс: Управление сайтом 14.0» настройки БД хранятся в файле /bitrix/.settings.php в секции «connections»

Bitrix со старым ядром:
В корневом каталоге вашего сайта перейдите в подкаталог /bitrix/php_interface/dbconn.php найдите строки:

  • u77777_dbuser — пользователь, от имени которого сайт подключается к базе данных;
  • password — пароль, с которым сайт подключается к базе данных;
  • u77777_database — база данных, которую использует сайт.

Drupal 6

В файле /sites/default/settings.php найдите строку:

Где:
username —имя пользователя; * password — пароль; * mysqlhost — сервер базы данных; * databasename* — имя базы данных.

Drupal 7

В файле /sites/default/settings.php найдите строки:

  • u77777_database — имя базы данных;
  • u77777_dbusert — пользователь базы данных;
  • password — пароль пользователя.

ModX

В файле /core/config/config.inc.php найдите строки:

  • u77777_dbuser — пользователь, от имени которого сайт подключается к базе данных;
  • password — пароль, с которым сайт подключается к базе данных;
  • u77777_database — база данных, которую использует сайт.

DLE

В файле /engine/data/dbconfig.php найдите строку:

  • u77777_database — имя базы данных;
  • u77777_dbusert — пользователь базы данных;
  • password — пароль пользователя.

PrestaShop

В файле /config/settings.inc.php или /app/config/parameters.php нужно найти строки:

  • u77777_database — имя базы данных;
  • u77777_dbusert — пользователь базы данных;
  • password — пароль пользователя.

MODx

В файле /manager/includes/config.inc.php нужно найти строки:

  • u77777_dbusert — пользователь базы данных;
  • password — пароль пользователя;
  • u77777_database — имя базы данных.
Читайте также:  Для применения выбранных настроек

Magento

В файле app/etc/local.xml нужно найти строки:

  • u77777_dbusert — пользователь базы данных;
  • password — пароль пользователя;
  • u77777_database — имя базы данных.

Opencart

Файлы config.php и admin/config.php нужно найти строки:

  • u77777_dbusert — пользователь базы данных;
  • password — пароль пользователя;
  • u77777_database — имя базы данных.

ImageCMS

В файле application/config/database.php нужно найти строки:

  • u77777_dbusert — пользователь базы данных;
  • password — пароль пользователя;
  • u77777_database — имя базы данных.

PHPShop

В файле /phpshop/inc/config.ini нужно найти строки:

  • u77777_dbusert — пользователь базы данных;
  • password — пароль пользователя;
  • u77777_database — имя базы данных.

WebAsyst

Файлы /dblist/логин.xml , /kernel/wbs.xml и файл кеша /temp/scdb/.settings.логин:

  • u77777_database — имя базы данных;
  • password — пароль пользователя;
  • u77777_dbusert — пользователь базы данных.

ShopCMS

В файле /core/config/connect.inc.php нужно найти строки:

  • u77777_dbusert — пользователь базы данных;
  • password — пароль пользователя;
  • u77777_database — имя базы данных.

Shop-script

В файле /cfg/connect.inc.php нужно найти строки:

  • u77777_dbusert — пользователь базы данных;
  • password — пароль пользователя;
  • u77777_database — имя базы данных.

Источник

My FreeLance

Бесплатная биржа фриланса, фриланс для всех

Категории

Форумы:

Форумы

Мы в соцсетях

Реклама

Подключение к БД в различных cms


Подключение к базе данные Bitrix:

$DBHost = “Хост”;
$DBLogin = “Логин”;
$DBPassword = “Пароль”;
$DBName = “Имя БД”;

а также файл /bitrix/.settings.php:

‘host’ => ‘сервер’,
‘database’ => ‘имя_базы_данных’,
‘login’ => ‘имя_пользователя’,
‘password’ => ‘пароль’,

Подключение к базе данные Webasyst

return array (
‘default’ =>
array (
‘host’ => ‘Хост’,
‘port’ => false,
‘user’ => ‘Логин’,
‘password’ => ‘Пароль’,
‘database’ => ‘Имя БД’,
‘type’ => ‘mysql’,
),
);

Подключение к базе данные Joomla

var $host = ‘хост’;
var $user = ‘логин’;
var $db = ‘Имя БД’;
var $password = ‘пароль’;

Подключение к базе данные DLE

define (“DBHOST”, “хост”);
define (“DBNAME”, “Имя БД”);
define (“DBUSER”, “логин”);
define (“DBPASS”, “пароль”);

Подключение к базе данные WordPress

define(‘DB_NAME’, ‘Имя БД’);
define(‘DB_USER’, ‘логин’);
define(‘DB_HOST’, ‘хост’);
define(‘DB_PASSWORD’, ‘пароль’);

Подключение к базе данные Drupal 6

файл /site/default/settings.php, в котором есть строка:

username – логин;
password – пароль;
mysqlhost – хост;
databasename – имя БД.

Подключение к базе данные Drupal 7

‘database’ => ‘имя БД’,
‘username’ => ‘логин’,
‘password’ => ‘пароль’,
‘host’ => ‘хост’,

Подключение к базе данные СMS Magento

файлы config.php и admin/config.php

define(‘DB_HOSTNAME’, ‘хост’);
define(‘DB_USERNAME’, ‘логин’);
define(‘DB_PASSWORD’, ‘пароль’);
define(‘DB_DATABASE’, ‘имя БД’);

Подключение к базе данные CMS PHPShop
файл /phpshop/inc/config.ini:

host = “хост”;
user_db = “логин”;
pass_db = “пароль”;
dbase = “имя БД”;

Подключение к базе данные ImageCMS

$db[‘default’][‘hostname’] = ‘хост’;
$db[‘default’][‘username’] = ‘логин’;
$db[‘default’][‘password’] = ‘пароль’;
$db[‘default’][‘database’] = ‘имя БД’;

Источник

Adblock
detector