PHP API

Описание работы

PHPShop использует собственный Framework, основанный на модели MVC и рефлекс-методах (экшенах).

Структура фреймворка:

  1. phpshop/class/core.class.php - ядро системы

  2. phpshop/class/orm.class.php - библиотека для работы с БД MySQL (запросы, выборки и т.д.)

  3. phpshop/class/base.class.php - библиотека подключения к БД MySQL

  4. phpshop/class/elements.class.php - библиотека виджетов (меню, текстовые блоки, баннеры и т.д.)

  5. phpshop/class/modules.class.php - библиотека подключения модулей

Система рефлекс-методов (роутеров действия) построена по принципу проверки POST, GET переменных, навигационных данных с привязкой их в выполнению нужной функции.

Пример работы роутера: при поступлении $_POST['send_gb'] будет вызван метод $this->send_gb(), при поступлении $_GET[add_forma'] будет вызван метод $this->add_forma(), а при наличии в строке запроса ID (например /gbook/ID_1.html) будет вызван метод $this->ID(). То есть имя переменной должно совпадать с именем метода, его обрабатывающего.

// Список экшенов
$this->action = ["post" => "send_gb", "nav" => "ID", "get" => "add_forma"];

Для вывода GUI интерфейсов в панели управления используется библиотеку-хелпер:

  1. phpshop/class/admgui.class.php - библиотека административных интерфейсов

Пример вывода текстового поля:

// Имя товара
$PHPShopGUI->setInputText($caption='Имя', $name, $value='Новый товар', $size = 300);

Подключение PHP файлов через API

Для подключения своей страницы с PHP логикой, использующую все доступные функции ядра и шаблонизатора, следует создать новый файл в папке /phpshop/core/.

Инструкция по подключению PHP файлов.

  1. Создать файл с именем coretest.php в папке /phpshop/core/, содержащий навигационный путь, например, этот файл называется coretest.class.php и обрабатывается при наборе адреса http://имя_сайта.ru/coretest/

  2. Создать класс заданного имени и формата. Имя класса должно содержать навигационный путь и совпадать с именем файла, например, этот класс называется PHPShopCoretest.

  3. В итоге получается вывод сообщения PHPShop Core работает! в общем дизайне сайта.

<?php

class PHPShopCoretest extends PHPShopCore {

    function __construct() {
        parent::__construct();
    }

    function index() {

    // Мета
    $this->title="Подключение PHP логики через API - ".$this->PHPShopSystem->getValue("name");
    $this->description='Подключение PHP логики';
    $this->keywords='php';

    // Определяем переменные
    $this->set('pageContent','PHPShop Core работает!');
    $this->set('pageTitle','Подключение PHP логики через API');

    // Подключаем шаблон
    $this->parseTemplate($this->getValue('templates.page_page_list'));
    }
}

Исходник файла расположен по адресу phpshop/core/coretest.php. Для подключения к базе данных используется библиотека PHPShopOrm.

Подключение HTML файлов

Не всегда удобно создавать и править страницу во встроенном редакторе админ панели, иногда бывает удобнее создавать страницу в специализированных HTML редакторах, а потом подключать их к сайту.

Инструкция по подключению HTML файлов.

  1. В любом HTML редакторе создать страницу, например, newstest.html и сохранить ее в папку /pageHTML/. Итоговый адрес страницы будет http://имя_сайта.ru/doc/newstest.html

  2. Добавить свои meta заголовки можно прямо в файле, для тега Title берется содержание тега <h1>, для тега Description берется тег <desc>, а для тега Keywords используется тег <key>.

  3. В итоге получается вывод сообщения Подключение HTML файлов в общем дизайне сайта.

<h1>Подключение HTML файлов</h1>
<desc>Инструкция по подключению HTML файлов в PHPShop</desc>
<key>html файлы в phpshop</key>

Исходник файла расположен по адресу: /pageHTML/test.html. Возможно использование только HTML тегов без PHP.

Last updated