Самый быстрый способ
Чтобы начать изучать возможности ReadyScript, достаточно создать PHP-файл(с именем, например, example.php) в корне сайта, подключить в нем конфигурационный файл /setup.inc.php. После подключения Setup произойдет инициализация всех подсистем(autoload, системы событий, языковых функций, и.т.д). Со следующей строки можно использовать все классы платформы.
Пример файла /example.php.
require('setup.inc.php');
$article = new \Article\Model\Orm\Article();
$article['title'] = 'Hello World!';
$article['content'] = 'Это наша первая статья!';
$article['short_content'] = 'Краткий текст нашей первой статьи';
if ($article->insert()) {
echo 'Все получилось!';
} else {
echo 'Что-то пошло не так!';
var_dump($article->getErrors());
}
Далее, следует набрать в браузере http://ваш_домен/example.php, чтобы запустить скрипт.
- Заметки
- Одиночный скрипт запускается не через единую точку входа /index.php, а соответственно не через диспетчер маршрутов. Это означает, что в системе будет не установлен текущий маршрут и некоторые функции, связанные с этим, будут недоступны.
Создание простейшего модуля
Создание простейшего модуля - отличный способ полноценно изучить все системы ReadyScript. Модуль будет отвечать на URL http://ваш_домен/example/ и передавать управление фронт-контроллеру.
Сперва потребуется создать следующую структуру в каталоге модулей /modules:
- modulename
- config
- file.inc.php
- module.xml
- handlers.inc.php
- controller
Содержимое файла /modulename/config/file.inc.php:
<?php
namespace ModuleName\Config;
use \RS\Orm\Type;
{}
Содержимое файла /modulename/config/module.xml
<?xml version="1.0" encoding="utf-8"?>
<config>
<defaultValues>
<name multilanguage="true">Тест</name>
<description multilanguage="true">Тестовый модуль</description>
<version>1.0.0.0</version>
<author>ReadyScript lab.</author>
</defaultValues>
</config>
Содержимое файла /modulename/config/handlers.inc.php:
namespace ModuleName\Config;
{
function init()
{
$this->bind('getroute');
}
public static function getRoute(array $routes)
{
$routes[] = new \RS\Router\Route(
'modulename-front-example',
'/example/',
null,
'Тестовая страница'
);
return $routes;
}
}
Содержимое файла /modulename/config/example.inc.php:
namespace ModuleName\Controller\Front;
{
function actionIndex()
{
$this->wrapOutput(false);
return 'Hello world!';
}
}
После того, как структура файлов будет создана в административной панели в разделе Веб-сайт → Настройка модулей появится возможность установить модуль.
Установка нового модуля
- Заметки
- Если новый модуль не появляется в списке модулей, необходимо отключить кэширование в разделе Управление → Настройка системы или сбросить кэш, нажав на иконку со стрелками, расположенную в шапке административной панели.
После того, как модуль будет установлен, он будет обрабатывать URL http://ваш_домен/example/
Включение отображения ошибок
Для удобства разработки, рекомендуем включать подробное отображение ошибок в ReadyScript. Для этого переведите флаг display_errors в состояние on в файле .htaccess
php_flag display_errors on
А также включите опцию "Подробно отображать информацию об исключениях" в административной панели в разделе Управление → Настройка системы или создайте файл с именем _local_settings.php в корне сайта, рядом с файлом setup.inc.php со следующим содержимым:
<?php
\Setup::$DETAILED_EXCEPTION = true;