1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/josinli-cspeed

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
操作手册.md 45 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 16.03.2025 22:01 c5bc288

Руководство по CSpeed — расширенному фреймворку на основе C# v2. 1. 11

Группа в QQ

https://jq.qq.com/?_wv=1027&k=5kSunAR Официальная группа CSpeed расширений в QQ: 605383362

Как начать работу?

Для быстрого старта с использованием фреймворка CSpeed следует обратиться к примерам в папке demo. Мы будем летать и побеждать в Counter-Strike! Перед использованием этого фреймворка убедитесь, что ваш компьютер уже имеет установленной версией PHP 7 или выше, а также скачайте исходный код и установите расширение CSpeed. После завершения установки активируйте расширение, чтобы использовать CSpeed.

Основные характеристики фреймворка

  1. Встроенная поддержка JSON-RPC Пример: Установите контроллер, который будет работать как сервер JSON-RPC:
namespace app\modules\admin;
class User extends \Cs\rpc\Server
{
    public function initialise()
    {
        $this->handle($this);
    }

    /**
     * Параметры передаются от клиента
     */
    function listsRpc()
    {
        return ['kernel' => 'CSpeed', 'version' => '2. 1. 11'];
    }
}

Клиентская часть может выглядеть следующим образом:

$client = new \Cs\rpc\Client('http://xxx.xxx.com/admin/user');
$data = $client->lists();
// Также можно отправить данные на сервер
$results = $client->lists(['age' => '20']);
  1. Поддержка BootInit для единой точки входа при инициализации, требует реализации интерфейса \Cs\BootInit Пример: Инициализация разделена на две части: база данных и обычные модели представлений:
class BootInit implements \Cs\BootInit
{
    /**
     * Инициализация базы данных
     */
    function __initDb()
    {
    }
```    /**
     * Инициализация других данных, таких как фабрика IOC
     */
    function __initData()
    {
    }
}
  1. Поддержка нескольких соединений с базами данных и возможность их переключения. Соединение с базой данных осуществляется через DSN, поддерживаются различные типы баз данных: PostgreSQL, MySQL и другие. Разработка пула соединений с базами данных находится в процессе. Модели могут переключаться между различными базами данных:
$model = new app\models\User();
// Устанавливаем соединение с основной базой данных
$model->setDb('master');
// Выполняем какие-то действия...
// Переключаемся на соединение с резервной базой данных
$model->setDb('slave');

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

$di->set('master', function(){
    return new \Cs\db\pdo\Adapter();
});
$di->set('slave', function(){
    return new \Cs\db\pdo\Adapter([
        'dsn' => 'mysql:host=localhost;port=3306;dbname=supjos',
        'username' => 'root',
        'password' => 'root'
    ]);
});
```**Класс \Cs\db\pdo\Adapter** поддерживает инициализационные параметры **PDO**, такие как установка постоянного соединения:

```php
$di->set('slave', function(){
    return new \Cs\db\pdo\Adapter([
        'dsn' => 'mysql:host=localhost;port=3306;dbname=supjos',
        'username' => 'root',
        'password' => 'root',
        'options'  => [
            \PDO::ATTR_PERSISTENT => true, // Постоянное соединение
            \PDO::ATTR_AUTOCOMMIT => 0     // Автоматическое выполнение отключено
        ]
    ]);
});
```4. Поддержка AR-характеристик модели [в настоящее время незавершена]
5. Загрузка конфигурационных файлов [ini] по требованию: класс **\Cs\tool\Config**
```php
$config = new \Cs\tool\Config();
$config->loadConfig('xxx/xxx.ini');
$configs = $config->getConfigs();
// Или получить значение соответствующего свойства
$configValue = $config->getConfigs('db');
  1. Поддержка механизма событий наблюдателя: класс \Cs\tool\Component Контроллер может выполнять некоторые входные проверки перед выполнением метода контроллера, используя поддержку событий:
// Если в контроллере существует этот метод, он будет выполнен с вершины его родительского класса до завершения инициализации
// Обратите внимание, что конструктор __construct() не будет вызван: любое указание внутри него не будет применяться
// Метод initialise является методом инициализации контроллера
function initialise()
{
    $this->on(self::EVENT_BEFORE_ACTION, function(){
        echo 'Привет, первая функция';
    });
}

Метод initialise принимает один аргумент: $object (имя пользователя определяется им самим, здесь предполагается, что пользователь определил его как $object), который представляет текущий объект контроллера, например:

namespace app\modules\index\controllers;
class Goods extends \Cs\mvc\Controller {
    function initialise($object)
    {
        // Тогда $object представляет объект текущего контроллера: Goods, вывод следующий:
        echo '<pre>';
        print_r($object);
        echo '</pre>';
    }
}
  1. Триадная модель разработки MVC
Используется наиболее распространенной моделью разработки в B/S: MVC
  1. Разделение обязанностей конфигурационных файлов, использование \Cs\ObjectFactory для разделения обязанностей
Пользователь может выполнять инициализацию всех классов в файле BootInit, что позволяет легко отделить модель от бизнес-логики:
Предположим, что конфигурационный файл фабрики PHP-классов пользователя выглядит так:
<?php
return [
    'rsa' => [
        'class'      => '\app\models\User',
        'properties' => [
            'name' => '\app\models\Tools',
            'two'  => '\app\models\Tools'
        ],
        'values'     => [
            'abc' => new \stdClass()
        ]
]

Пользователю достаточно следовать этим правилам, чтобы передать инициализацию и конструирование модели системе CSpeed, что обеспечивает более высокую производительность и эффективность по сравнению с нативным PHP:### Правила: Каждый ключ массива соответствует уникальному идентификатору класса (Class ID): Например, в приведённом выше примере два Class ID: rsa и aes.

Каждый Class ID соответствует одному классу, который будет инициализирован системой CSpeed.

Пример:

rsa соответствует классу \app\models\User. Подмассивы указывают, как следует инициализировать этот модельный класс:

  • class: Указывает класс для инициализации, включая пространство имён.
  • properties: Определяет объекты, которые будут переданы через методы установки (setters).
Пример:
'properties' => [
    'name' => '\app\models\Tools',
    'two'  => '\app\models\Tools'
]

Это значит, что система CSpeed должна вызвать метод setName() класса \app\models\User, передав ему объект \app\models\Tools. Это эквивалентно следующему коду PHP:

$user = new \app\models\User();
$user->setName(new \app\models\Tools());

Внимание!

Количество элементов в массиве properties равно количеству вызываемых методов установки (setters).

Если пользователь не использует контейнер внедрения зависимостей (IoC) для внедрения, а хочет просто инициализировать свойства, он может использовать массив values:

'values' => [
    'abc' => new \stdClass(),
    'linux' => 'Да, мне нравится Linux',
    'windows' => 'Нет, если нет выбора'
],

Этот код сообщает системе CSpeed инициализировать свойство abc класса \app\models\User значением new \stdClass(), а также инициализировать свойство linux значением 'Да, мне нравится Linux' и так далее.Чтобы не затрагивать внутренние приватные свойства, можно указать, какие модификаторы доступа могут быть инициализированы:

'attrs' => [
    'private' => true,
    'public' => true,
    'protected' => false
]

Это сообщает CSpeed, что если свойство имеет модификатор private, то следует использовать соответствующее значение из массива values для его инициализации; свойства с модификатором public также будут инициализированы, в то время как свойства с модификатором protected — нет.

9. Поддержка командной строки и передача аргументов командной строки:

$task = new \Cs\console\Task();
// Также можно инициализировать систему с помощью параметров, формат которых аналогичен(Cs\App)
$task = new \Cs\console\Task("xxx/xxx.ini", "dev");
// Выполнение командной строки
$task->run($argv[1]);

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

php -f index.php hello/world/lists

Чтобы заставить CSpeed выполнить метод lists контроллера world модуля hello.

10. Усиленная функциональность маршрутизации, например:

$router = new \Cs\mvc\Router();
$router->add('/back/:action:/id:', '/shop/list/$1');
$router->add('/shop/:controller:/action:/any:', '/get/\1/\2/\3');
$router->addFromArray([
    '/shop/:controller:/action:/any:' => '/get/\1/\2/\3',
    '/admin/:controller:/action:/any:' => '/put/\1/\2/\3',
]);
$router->addFromIni('./app/router.ini');

Разработчики могут просто определять маршруты в точке входа, чтобы автоматически переходить к указанным маршрутам.Написано на чистом C, обеспечивает максимальную производительность, успешно протестировано на Linux и macOS

Инструкция по установке

Расширение CSpeed доступно на платформах GitHub и Coding, где вы можете скачать исходный код и установить его согласно приведенной ниже инструкции:

GitHub: https://github.com/liqiongfan/cspeed

Coding: https://gitee.com/josinli/cspeed

Шаги установки: 1. /usr/local/php_to_path/bin/phpize 2. . /configure --with-php-config=/usr/local/php_to_path/bin/php-config 3. make install

После компиляции добавьте следующие строки в конфигурационный файл php.ini: extension_dir = "/usr/local/php-7.1.8-nts/lib/php/extensions/no-debug-non-zts-2016/" extension=cspeed.so

Затем перезапустите PHP-FPM для Nginx или Apache: 4. systemctl restart php-fpm или systemctl restart httpd

Тестирование производительности

Команда тестирования: /usr/local/httpd-2.4.29/bin/ab -c100 -n100000 http://www.supjos.com/hello/cspeed/

Тестовая машина [была специально выбрана старым ноутбуком]: CPU: Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz Жесткий диск: HDD 750GB 2009 года Оперативная память: 4 ГБ SamsungТестовое окружение: Nginx 1.12.1 PHP 7.1.5 PHP-FPM Тестовые результаты: Уровень параллелизма: 100 Время выполнения тестов: 9,781 секунды Полностью обслуженных запросов: 100000 Несоответствующих запросов: 0 Общее количество переданных данных: 18500000 байт Переданных HTML-данных: 0 байт Запросов в секунду: 10223,94 [#/сек] (в среднем) Времени на один запрос: 9,781 [мс] (в среднем) Времени на один запрос (по всем одновременным запросам): 0,098 [мс] (в среднем) Скорости передачи данных: 1847,10 [Кбайт/сек] (получено) Времени соединения (мс): мин среднее[+/−sd] медиана макс Соединение: 0 1 0,9 0 9 Обработка: 1 9 1,8 9 25 Ожидание: 1 9 1,8 9 24 Общего времени: 4 10 1,3 10 28 ВНИМАНИЕ: Медиана и среднее значение времени первичного соединения не находятся в нормальном диапазоне отклонений Эти результаты вероятно не являются надёжными. Процента запросов, обслуженных за определённое время (мс): 50% 10 66% 10 75% 10 80% 10 90% 11 95% 12 98% 13 99% 13 100% 28 (наиболее длительный запрос) После тестирования при нулевых операциях ввода-вывода достигается производительность 10223 запросов в секунду, что соответствует примерно 10000 операциям в секунду. При парсинге файла конфигурации ini производительность снижается до около 9000 запросов в секунду.## Примерная структура проекта ## +--cspeed Входной файл +--app Проектная директория +---config Конфигурационная директория |---core.ini Конфигурационный файл +---models Директория общих моделей |---User.php Модель пользователя |---Goods.php Модель товара +---modules Директория модулей +---backend Модуль управления +---controllers Контроллеры модуля управления |---Index.php Контроллер главной страницы |---About.php Контроллер информации о проекте +---views Директория представлений +---index Директория представлений контроллера главной страницы |---index.phtml Представление метода index контроллера главной страницы +---about Директория представлений контроллера информации о проекте

Пример простого приложения

  1. Пример веб-приложения
    $app = new \Cs\App("../app/config/core.ini", "dev");
    $app->bootstrap()->run();

Cs\App класс принимает абсолютный или относительный путь до INI файла в конструкторе. Второй аргумент представляет собой узел парсинга INI файла. Оба этих аргумента могут быть опущены для настройки фреймворка API с целью снижения операций ввода-вывода.Для реализации сложного веб-приложения достаточно двух строк кода. 2. Пример API php $app = new \Cs\App(); $app->get('/hello/cspeed/:any:', function($any) { echo '<div style="text-align:center;">Привет, пользователь CSpeed! Значение any равно: ' . $any . '.<\/div>'; }); Для создания проекта на основе RESTful API достаточно добавить соответствующие методы запроса.

Конфигурационные параметры INI для движка CSpeed

[core]
core.application                = '../app'               ; директория WEB
core.bootstrap                 = '../app/bootstrap.php'   ; указание пути к классу Bootstrap
core.bootstrap.method.string    = '__init'               ; указание префикса метода инициализации класса Bootstrap
core.router.modules             = index, home, back       ; регистрация нескольких модулей
core.router.default.module       = index                  ; по умолчанию используется модуль index
core.router.default.controller   = index                  ; по умолчанию используется контроллер index
core.router.default.action       = index                  ; по умолчанию используется метод index
core.view.

Опции конфигурации

Параметр Значение Описание
ext phtml Префикс файла представления
core.view.auto.render 0 Автоматическое отображение представлений, 1: автоматическое отображение, 0: не отображать
core.url.pattern .html Настройка псевдо-статических URL

Конфигурация базы данных

Параметр Значение Описание
db.master.dsn 'mysql:host=localhost;port=3306;dbname=supjos' Тип и соединение с базой данных
db.master.username root Имя пользователя базы данных
db.master.password 3333 Пароль доступа к базе данных
Параметр Значение Описание
core.application '.../app' Каталог приложения
core.bootstrap '.../app/bootstrap.php' Каталог бутстрапа
core.bootstrap.method.string '__init' Префикс метода инициализации бутстрапа
core.router.modules index, home Регистрация модулей
core.router.default.module index Основной модуль
core.router.default.controller Index Основной контроллер
core.router.default.action index Основной метод
core.view.ext xhtml Префикс файла представления
core.view.auto.render 0 Автоматическое отображение представлений, 1: автоматическое отображение, 0: не отображать
core.url.pattern .html Настройка псевдо-статических URL

Конфигурация базы данных

Параметр Значение Описание
db.master.dsn 'mysql:host=localhost;port=3306;dbname=supjos' Тип и соединение с базой данных
db.master.username root Имя пользователя базы данных
db.master.password 3333 Пароль доступа к базе данных
/**
  • Пример класса инициализации BootInit */ class BootInit implements \Cs\BootInit {

    /**

    • Инициализация маршрутов и представлений */ public function __initRouter($di, $router) { $di->set('view', function() { return new \Cs\mvc\View(); });

      $router->add( '/back/:action:/id:', '/shop/list/$1' );

      $router->add( '/shop/:controller:/action:/any:', '/get/\1/\2/\3' ); }

    /**

    • Инициализация подключения к базе данных */ public function __initDb($di, $router) { $di->set('db', function() { return new \Cs\db\pdo\Adapter(); }); } }

**\Cs\BootInit** класс вызывает все методы, названия которых начинаются с префикса, указанного в конфигурационном файле. При этом автоматически передаются два параметра: **$di** и **$router**, представляющие контейнер внедрения зависимостей и маршрутизатор соответственно, чтобы разработчики могли выполнять настройку и инициализацию всей системы.## Пример структуры контроллера ##
```php
namespace app\modules\hello\controllers;
class Cspeed extends \Cs\mvc\Controllers
{
    /**
     * Метод инициализации. Если этот метод будет создан, то метод initialize начнёт выполняться от родительского класса до этого метода для выполнения инициализации.
     */
    public function initialize()
    {
        // Код инициализации
    }

    /**
     * Конкретный метод. Внутри фреймворка CSpeed URL методы заканчиваются на Action.
     */
    public function newsAction()
    {
        // Код действия
    }
}

Пример структуры модели

namespace app\models;
class User extends \Cs\mvc\Model
{
    /**
     * Если существует конструктор, обязательно явно вызывайте конструктор родительского класса.
     * Вы можете использовать возможность привязки событий внутри конструктора.
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Возвращает имя таблицы.
     */
    public function tableName()
    {
        return 'www_product';
    }
}

Индекс API

Cs\App

/**
 * Конструктор.
 * @param string $iniConfigPath Путь к конфигурационному файлу, который следует загрузить в движок.
 * @param string $iniNodeName Название узла в конфигурационном файле INI.
 */
public function __construct($iniConfigPath, $iniNodeName);

/**
 * Запуск фреймворка.
 */
public function run();

/**
 * Инициализация движка.
 */
public function bootstrap();

/**
 * Получение объекта App.
 */
public function getApp();

/**
 * Установка псевдонима для системной загрузки.
 * @param string $aliasKey Псевдоним для загрузки.
 * @param string $aliasFullPath Полный путь, представленный псевдонимом.
 */
public function setAlias($aliasKey, $aliasFullPath);
``````markdown
/**
 * Соответствие запросу GET.
 * @param string $url URL для соответствия.
 * @param Closure $closure Закрытый метод для выполнения при успешном соответствии.
 */
public function get($url, $closure);

/**
 * Соответствие запросу POST.
 * @param string $url URL для соответствия.
 * @param Closure $closure Закрытый метод для выполнения при успешном соответствии.
 */
public function post($url, $closure);

/**
 * Соответствие запросу PUT.
 * @param string $url URL для соответствия.
 * @param Closure $closure Вызов обратного вызова после успешного соответствия.
 */
function put($url, $closure);

/**
 * Обрабатывает запрос PATCH.
 * @param string $url URL для соответствия.
 * @param Closure $closure Вызов обратного вызова после успешного соответствия.
 */
function patch($url, $closure);

/**
 * Обрабатывает запрос DELETE.
 * @param string $url URL для соответствия.
 * @param Closure $closure Вызов обратного вызова после успешного соответствия.
 */
function delete($url, $closure);

/**
 * Обрабатывает запрос HEAD.
 * @param string $url URL для соответствия.
 * @param Closure $closure Вызов обратного вызова после успешного соответствия.
 */
function head($url, $closure);

/**
 * Обрабатывает запрос OPTIONS.
 * @param string $url URL для соответствия.
 * @param Closure $closure Вызов обратного вызова после успешного соответствия.
 */
function options($url, $closure);

Cs\BootInit

Презервативные интерфейсы### Cs\db\ModelInterface ### /** * SELECT * @param array|string $fields Поля выборки в запросе SELECT * @return \Cs\db\ModelInterface */ function select($fields);

   /**
   * FROM
   * @param string $table    Название таблицы данных для запроса
   * @return ModelInterface
   */
  function from($table);

   /**
   * WHERE
   * @param array|string $whereCondition    Условие WHERE
   * @return ModelInterface
   */
  function where($whereCondition);

   /**
   * GROUP BY
   * @param array|string $groupBy          Условие GROUP BY
   * @return ModelInterface
   */
  function groupBy($groupBy);

   /**
   * HAVING
   * @param array|string $having           Условие HAVING
   * @return ModelInterface
   */
  function having($having);

   /**
   * ORDER BY
   * @param array|string $orderBy           Условие ORDER BY
   * @return ModelInterface
   */
  function orderBy($orderBy);

   /**
   * LIMIT
   * @param int $count        Количество записей
   * @param int $offset       Оффсет
   * @return ModelInterface
   */
  function limit($count, $offset);

   /**
   * @param $rawSql               Исходная SQL-строка
   * @param array $bindParams     Привязанные параметры SQL
   * @return ModelInterface
   */
  function query($rawSql, array $bindParams);

   /**
   * Выполняет SQL-запрос через метод query и возвращает результат
   */
  function execute();

Cs\db\pdo\Adapter

 /**
  * Конструктор PDO.
  * @param array $connectionOptions  Опциональные параметры соединения, такие как \PDO::ATTR_PERSISTENT.
  */
 function __construct(array $connectionOptions = []);

 /**
  * Устанавливает поля для выборки.
  * @param array|string $fields Поле или массив полей для выборки.
  * @return $this|Adapter
  */
 function select($fields);

 /**
  * Указывает таблицу для запроса.
  * @param string $table Название таблицы.
  * @return $this|Adapter
  */
 function from($table);    function from($table)
 /**
  * Устанавливает условие WHERE.
  * @param array|string $whereCondition Условие WHERE.
  * @return $this
  */
 function where($whereCondition)
 /**
  * Устанавливает условие GROUP BY.
  * @param array|string $groupBy Условие GROUP BY.
  * @return $this
  */
 function groupBy($groupBy)
 /**
  * Устанавливает условие HAVING.
  * @param array|string $having Условие HAVING.
  * @return $this|Adapter
  */
 function having($having)
 /**
  * Устанавливает условие ORDER BY.
  * @param array|string $orderBy Условие ORDER BY, например: orderBy(['id DESC', 't ASC']).
  * @return $this|Adapter
  */
 function orderBy($orderBy)
 /**
  * Устанавливает ограничение LIMIT.
  * @param int $count Количество записей.
  * @param int $offset Смещение.
  * @return $this|Adapter
  */
 function limit($count, $offset)
 /**
  * Выполняет SQL-запрос с привязанными параметрами.
  * @param string $rawSql Исходный SQL-запрос.
  * @param array $bindParams Привязанные параметры.
  * @return $this|Adapter
  */
 function query($rawSql, array $bindParams)
 /**
  * Возвращает результат выполнения метода query.
  * @return mixed
  */
 function execute()
 /**
  * Добавляет дополнительное условие WHERE.
  * @param $whereCondition Условие WHERE.
  * @return $this|Adapter
  */
 function andWhere($whereCondition)
 /**
  * Начинает транзакцию.
  */
 function begin()
 /**
  * Откатывает транзакцию.
  */
 function rollback()
 /**
  * Подтверждает транзакцию.
  */
 function commit()
 /**
  * Возвращает последний вставленный ID.
  * @return mixed
  */
 function lastInsertId()
 /**
  * Возвращает количество затронутых строк.
  */
 function rowCount()
 /**
  * Возвращает одну строку из результата запроса.
  */    function find()
 /**
  * Возвращает все строки из результатов запроса.
  */
 function findAll()### Cs\di\Di ###
/**
 * Конструктор DI.
 */
function __construct()
/**
 * @param $key Ключ ассоциативного массива контейнера внедрения зависимостей.
 * @return object|mixed
 */
function get($key)
/**
 * @param $key      Ключ объекта, хранящегося в контейнере внедрения зависимостей
 * @param $closure  Коллбэк-функция, значение которой будет помещено в контейнер внедрения зависимостей
 */
function set($key, $closure)

Cs\mvc\Controller

/**
 * @var $di \Cs\di\Di Объект контейнера внедрения зависимостей Di
 */
public $di;
/**
 * @var $view \Cs\mvc\View Объект представления View
 */
public $view;
/**
 * @var $router \Cs\mvc\Router Объект маршрутизатора Router
 */
public $router;

/**
 * Метод инициализации маршрута.
 * Инициализация от родительского класса до текущего.
 */
function initialise()### Cs\Mvc\Model ###
/**
 * Конструктор модели Model
 */
public function __construct();

/**
 * Возвращает объект модели, который требует выполнения операции UPDATE
 * @return Model
 */
static function find();

/**
 * Возвращает имя таблицы, связанной с моделью
 */
function tableName();

/**
 * @param array|string $fields Условие SELECT
 * @return $this
 */
function select($fields);

/**
 * @param array|string $where Условие WHERE
 * @return $this
 */
function where($where);

/**
 * @param array|string $where Условие WHERE
 * @return $this
 */
function andWhere($where);

/**
 * @param array|string $orderBy Условие ORDER BY
 * @return $this
 */
function orderBy($orderBy);

/**
 * @param array|string $groupBy Условие GROUP BY
 * @return $this
 */
function groupBy($groupBy);

/**
 * Возвращает одну запись
 */
function one();

/**
 * Возвращает все записи из результата запроса
 */
function all();

/**
 * Выполняет операцию UPDATE или INSERT
 * Для новых моделей выполняется INSERT, а для найденных - UPDATE
 */
function save();

/**
 * Выполняет операцию DELETE
 */
function delete();

/**
 * Получает объект PDO, используемый текущей моделью
 * Можно использовать этот метод для вызова методов PDO
 */
function getDb();

/**
 * Получает объект адаптера \Cs\Db\Pdo\Adapter, связанный с текущей моделью
 */
function getAdapter();
```### Cs\mvc\View ###
      /**
      * Конструктор представления View
      */
     function __construct()```markdown
### Рendering шаблонов

    /**
     * Rendering шаблона
     * @param $templateFileName имя файла шаблона для рендера без расширения
     * @param $variables данные, передаваемые в шаблон
     */
    function render($templateFileName, $variables)
    
    /**
     * Установка расширения шаблона, по умолчанию .phtml
     * @param $suffixName новое расширение шаблона
     */
    function setSuffix($suffixName)
    
    /**
     * Добавление данных в шаблон
     * @param $varName имя переменной
     * @param $varValue значение переменной
     */
    function setVar($varName, $varValue)
    
    /**
     * Получение результата рендера
     * @param $templateFileName имя файла шаблона для рендера без расширения
     * @param $variables данные, передаваемые в шаблон
     */
    function getRender($templateFileName, $variables)
    
    /**
     * Установка директории хранения шаблонов
     * @param $viewDir путь к директории хранения шаблонов
     */
    function setViewDir($viewDir)
    
    /**
     * Рендеринг частичного шаблона
     * @param $templateFileName имя файла шаблона для рендера без расширения
     * @param $variables данные, передаваемые в шаблон
     */
    function partial($templateFileName, $variables)

### Cs\net\Request    /**
     * Получение значения HTTP_HOST
     */
    function getHttpHost()

    /**
     * Получение значения HTTP_USER_AGENT
     */
    function getHttpUserAgent()

    /**
     * Получение значения SERVER_NAME
     */
    function getServerName()

    /**
     * Получение значения SERVER_ADDR
     */
    function getServerAddr()

    /**
     * Получение значения REMOTE_PORT
     */
    function getRemotePort()

    /**
     * Получение значения REMOTE_ADDR
     */
    function getRemoteAddr()

    /**
     * Получение значения REQUEST_SCHEME
     */
    function getRequestScheme()

    /**
     * Получение значения SERVER_PROTOCOL
     */
    function getServerProtocol()

    /**
     * Получение значения DOCUMENT_ROOT
     */
    function getDocumentRoot()

    /**
     * Получение значения REQUEST_URI
     */
    function getRequestUri()

    /**
     * Получение значения SCRIPT_NAME
     */
    function getScriptName()

    /**
     * Получение значения PATH_INFO
     */
    function getPathInfo()

    /**
     * Получение значения QUERY_STRING
     */
    function getQueryString()

    /**
     * Проверка является ли запрос GET
     */
    function isGet()

    /**
     * Проверка является ли запрос PUT
     */
    function isPut()

    /**
     * Является ли запрос PATCH
     */
    function isPatch()

    /**
     * Является ли запрос DELETE
     */
    function isDelete()

    /**
     * Является ли запрос HEAD
     */
    function isHead()

    /**
     * Является ли запрос OPTIONS
     */
    function isOptions()

    /**
     * Получение данных $_GET
     */
    function get()

    /**
     * Получение данных $_POST
     */
    function getPost()### Cs\net\Response ###
      /**
      * Конструктор класса Response.
      */
     function __construct()
      /**
      * Установка HTTP-заголовков.
      * Например: setHeader('Content-Type', 'application/json;charset=UTF-8');
      * @param $headerKey        Название HTTP-заголовка
      * @param $headerValue      Значение HTTP-заголовка
      */
     function setHeader($headerKey, $headerValue)
      /**
      * Удаление HTTP-заголовков.
      * @param $headerKey       Название HTTP-заголовка для удаления, функция должна вызываться до send()
      */
     function unsetHeader($headerKey)
      /**
      * Отправка HTTP-заголовков и содержимого ответа.
      */
     function send()
      /**
      * Установка JSON-контента в ответе.
      * @param array $jsonArray
      */
     function setJsonContent(array $jsonArray)
      /**
      * Установка сырого контента.
      * @param $rawContent   Сырой контент
      */
     function setRawContent($rawContent)
      /**
      * Перенаправление на указанный URL.
      * Например: redirect('/index/lists') перенаправляет на: http://host/index/lists
      * @param $url          URL для перенаправления
      */
     function redirect($url)

### Cs\tool\Config ###
      /**
      * Конструктор класса Config.
      */
     function __construct()
      /**
     * Загрузка данных из INI файла.
      * @param string $configFilePath    Относительный путь к INI файлу
      */
     function loadConfig($configFilePath)
      /**
      * Возврат данных из INI файла, с учетом разделителей.
      */
     function getConfigs()
      /**
      * Возврат данных из INI файла, соответствующих указанному ключу.
      */
     function getConfig($configKey)### Cs\mvc\Router ###
      /**
      * Конструктор класса Router.
      */
     function __construct()
      /**
      * Добавление маршрута в Router.
      * @param $destUrl Поддерживает регулярные выражения для URL маршрутов
      * @param $toUrl   URL маршрута после соответствия
      */
     function add($destUrl, $toUrl)
      /**
      * Добавление маршрутов из INI конфигурационного файла
      * @param $iniFile INI конфигурационный файл, содержащий маршруты
      */
     function addFromIni($iniFile)
      /**
      * Добавление маршрутов из массива
      * @param $arrayRouters Массив маршрутов, где ключи — это маршрутизируемые URL, а значения — URL для переадресации при успешной совпадении
      */
     function addFromArray($arrayRouters)
     {
     }

### Cs\tool\Component ###
  	/**
 	 * Конструктор
  	*/
  	/**
 	 * Привязка события
 	 * @param $eventName Название события для привязки
 	 * @param $callBack Функция, которая будет вызвана при возникновении события
 	 */
 	function on($eventName, $callBack);
  	/**
 	 * Отвязка события
 	 * @param $eventName Название события для отвязки
 	 * @param $callBack Обработчик события, NULL отвязывает все события с одинаковым названием
 	 */
 	function off($eventName, $callBack = NULL);
  	/**
 	 * Вызов события
 	 * @param $eventName Название события для вызова
 	 */
 	function trigger($eventName);

### Cs\ObjectFactory ###
  	/**
 	 * Инициализация IOC объектного фабричного класса по конфигурационному файлу
 	 * @param $factoryConfig Конфигурационный файл для управления IOC
 	 */
 	function init($factoryConfig);
  	/**
 	 * Получение объекта из IOC фабрики
 	 * @param $id Уникальный идентификатор объекта для получения
 	 */
 	function getObject($id);

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/josinli-cspeed.git
git@api.gitlife.ru:oschina-mirror/josinli-cspeed.git
oschina-mirror
josinli-cspeed
josinli-cspeed
master