Рекомендуем для начала ознакомиться с подробными инструкциями по установке проекта на базе Limb3. Скопируйте все содержимое из папки /skel пакета WEB_APP в директорию с вашим приложением, например my_app.
Итак, внутри папки вашего приложения будут следующие файлы и директории:
my_app | +-/src - здесь мы разместим собственно код приложения | +-/template - папка, где находятся шаблоны приложения | +-/settings - здесь располагаются конфигурационные файлы | +-/var - папка для временных/изменяемых файлов (кеши, компилированные шаблоны и прочее). | +-/www - здесь будет находиться DocumentRoot приложения | | | |-index.php | |-.htaccess | `-favicon.ico | |-setup.php `-setup.override.php
Убедитесь, что веб-сервер имеет права на запись в папку var, которая находится в корне вашего приложения.
Для инициализации приложения используется скрипт my_app/setup.php, в котором содержится различная конфигурационная информация.
<?php // Включаем в include_path директорию проекта и директорию с Limb3 пакетами // Эти строки можно удалить, если вы установили Limb3 через PEAR канал set_include_path(dirname(__FILE__) . '/' . PATH_SEPARATOR . '/path/to/limb/parent/dir/' . PATH_SEPARATOR . get_include_path()); // Служебная константа LIMB_VAR_DIR указывает на расположение временных/изменяемых файлов(различные кеши, компилированные шаблоны, временные файлы и т.д). @define('LIMB_VAR_DIR', dirname(__FILE__) . '/var/'); // подключим наиболее часто используемые составляющие пакетов core и web_app require_once('limb/core/common.inc.php'); require_once('limb/web_app/common.inc.php'); ?>
db.conf.php используется для хранения параметров подключения к базе данных. Для MySQL он будет выглядеть следующим образом:
<?php $conf = array('dsn' => 'mysql://root:secret@localhost/limb_crud?charset=utf8'); ?>
Для SQLite:
<?php $conf = array('dsn' => 'sqlite://localhost/path/to/sqlite.db?charset=utf8'); ?>
Это файл настройки шаблонной системы WACT, которую мы будем использовать для вывода данных.
<?php $conf = array( 'forcescan' => 0, 'forcecompile' => 1 ); ?>
forcescan указывает, необходимо ли заново каждый раз составлять словарь тегов шаблонной системы (полезно только при создании новых тегов, чего мы делать сейчас не будем) - поэтому значение 0.
Следующий параметр - это forcecompile, который указывает, нужно ли заново компилировать шаблон при каждом обращении. Пока мы поставим значение 1, так как нам придется работать с шаблонами. На рабочем сайте, естественно, это значение необходимо поменять на 0.
Попробуйте зайти на страницу проекта. Вы должны увидеть страницу с надписью «Default main page.» Если это так, значит все пока нормально.
DocumentRoot нашего приложения - это папка www.
В папке www лежит файл .htaccess (см. ниже), который перенаправляет все запросы к index.php скрипту, если запрос не касается статичного контента (файла, директории и символической ссылки):
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-s RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.+)$ index.php?%{QUERY_STRING} [L]
Cкрипт www/index.php, является единственной точкой входа в приложение:
<?php require_once(dirname(__FILE__) . '/../setup.php'); require_once('limb/web_app/src/lmbWebApplication.class.php'); $app = new lmbWebApplication(); $app->process(); ?>
По сути все приложение - это один единственный класс.
Следующая страница: Шаг2. Вывод новостей через шаблон
Обсуждение