Нет описания правки
Нет описания правки
 
(не показаны 4 промежуточные версии этого же участника)
Строка 2: Строка 2:


<pre>
<pre>
Bind::Q('GET request:home', 'NEWS::getNews');
Bind::Q('GET request:home', 'NEWS::getNews');
Bind::Q('GET request:tv', 'NEWS::getNewsTV');
Bind::Q('GET request:tv', 'NEWS::getNewsTV');
Строка 9: Строка 9:
Bind::Q('ApiRequest getNews', 'NEWS::Api_getPosts');
Bind::Q('ApiRequest getNews', 'NEWS::Api_getPosts');
Bind::Q('ApiRequest getPost', 'NEWS::Api_getPost');
Bind::Q('ApiRequest updateNews', 'NEWS::Api_updatePost');
Bind::Q('ApiRequest getRubrics', 'NEWS::Api_getRubrics');
# Добавление - Обновление - Удаление новости
Bind::Q('ApiRequest postNotify', 'NEWS::Api_Notify_Post');
Bind::Q('ApiRequest postNotify', 'NEWS::Api_Notify_Post');
Bind::Q('ApiRequest addNews', 'NEWS::Api_Notify_newPost');
Bind::Q('ApiRequest viewNews', 'NEWS::Api_Notify_updateViewsCounter');
Bind::Q('ApiRequest ping', 'NEWS::Api_Notify_Post_DesktopCounter');
Bind::Q('DirectRequest direct:getNews', 'NEWS::Direct_getNews');
Bind::Q('DirectRequest direct:getNews', 'NEWS::Direct_getNews');
Bind::Q('DirectRequest direct:getVideo', 'NEWS::Direct_getVideo');
Bind::Q('DirectRequest direct:getPost', 'NEWS::Direct_getPost');
Bind::Q("OnAfterCatalogUpdate", 'TestCatalog::get2');
Bind::Q("OnAfterCatalogUpdate", 'TestCatalog::get2');
// get input json example:
Bind::Q('JSON request:/direct/test1', 'SitemapHandler::test');
public static function test()
    {
        $data = \Core\APP::getInput();
        d($data);
    }
</pre>
Пример запроса с кэшированием
<pre>
    if ($giftsDB = Cache::getCachedObject(self::$cacheLifetime, self::$cache_name)){
                self::$giftsDB = $giftsDB;
            } else {
                    $giftsDB = [];
                    $factory = new self();
                    $all = $factory->getAllIn([
                        //'order' => 'ID'
                    ]);
                    foreach ($all as $row) {
                        $giftsDB[$row['ID']] = $row;
                    }
                    self::$giftsDB = $giftsDB;
                    if (Cache::cacheObject(
                        self::$cache_name, $giftsDB)) {
                        return self::$giftsDB;
                    }
    }
</pre>
</pre>


Строка 48: Строка 69:
     $factory->Edit($datum, $where, 1);
     $factory->Edit($datum, $where, 1);
}
}
</pre>
Транзакции (доступны с версии 1.8 - 816):
<pre>
DB::beginTransaction();
DB::query("INSERT INTO table1 (column1) VALUES ('value1')");
DB::query("UPDATE table2 SET column2 = 'value2' WHERE id = 1");
DB::commit();
</pre>
</pre>

Текущая версия от 13:19, 30 июня 2026

Bind:

	Bind::Q('GET request:home', 'NEWS::getNews');
	Bind::Q('GET request:tv', 'NEWS::getNewsTV');
	
	Bind::Q('Page/Ready ALIAS:news', 'NEWS::getRubricPosts');
	Bind::Q('Page/Ready GROUP:post', 'NEWS::getPostForPublish');
	
	Bind::Q('ApiRequest getNews', 'NEWS::Api_getPosts');
	Bind::Q('ApiRequest postNotify', 'NEWS::Api_Notify_Post');
	
	Bind::Q('DirectRequest direct:getNews', 'NEWS::Direct_getNews');
	Bind::Q("OnAfterCatalogUpdate", 'TestCatalog::get2');

// get input json example:
Bind::Q('JSON request:/direct/test1', 'SitemapHandler::test');

public static function test()
    {
        $data = \Core\APP::getInput();
        d($data);
    }

Пример запроса с кэшированием

     if ($giftsDB = Cache::getCachedObject(self::$cacheLifetime, self::$cache_name)){
                self::$giftsDB = $giftsDB;
            } else {
                    $giftsDB = [];
                    $factory = new self();
                    $all = $factory->getAllIn([
                        //'order' => 'ID'
                    ]);

                    foreach ($all as $row) {
                        $giftsDB[$row['ID']] = $row;
                    }

                    self::$giftsDB = $giftsDB;
                    if (Cache::cacheObject(
                        self::$cache_name, $giftsDB)) {
                        return self::$giftsDB;
                    }
     }

Исправление bucket на basket в таблице заказов:

<?php

use \Core\Pattern\PageDefault;

$factory = new PageDefault();
$factory->setTableName('orders');
$opt = array("CHECK_ALLOWED" => "N");
$data = $factory->getAllIn($opt);

foreach ($data as $key => $datum) {
    $datum["ORDER_JSON"] = str_replace('bucket', 'basket', $datum["ORDER_JSON"]);
    $where = array("ID" => $datum["ID"]);
    unset($datum["ID"]);
    if(!empty($datum["count"]))
        unset($datum["count"]);

    $factory->Edit($datum, $where, 1);
}

Транзакции (доступны с версии 1.8 - 816):

DB::beginTransaction();
DB::query("INSERT INTO table1 (column1) VALUES ('value1')");
DB::query("UPDATE table2 SET column2 = 'value2' WHERE id = 1");
DB::commit();