В далекие времена, среди программистов VB.NET и C#, большой популярностью пользовалась технология ASP.NET WebForms.
Этот проект является попыткой воплощения некоторых решений ASP.NET WebForms в PHP.
На сегодняшний день WebForms.PHP - это шаблонизатор, набор компонентов HTML и зачатки программной платформы (Framework) для создания веб-сайтов при помощи PHP.
Пропала целесообразность в реализации этого проекта, поскольку было решено полностью отказаться от PHP в пользу ASP.NET.
Но это не означает, что PHP плохой язык. Он имеет свои особенности и преимущества, просто в .NET лучше реализованы принципы ООП, что позволяет создавать более сложные проекты.
На свой страх и риск, можно использовать в небольших проектах или в познавательных целях.
Текущая версия была использована только для технических проектов: панелей управления/администрирования.
Учитывайте, что я не буду заниматься развитием этого проекта и решать возникающие проблемы. Нет, я не вредный, просто уже давно позабыл PHP.
console
.1 Чтобы начать пользоваться шаблонизатором, скачайте и распакуйте архив с исходным кодом. Движок находится в папке /Nemiro. Разместите эту папку в корне вашего сайта. Менять название каталога не рекомендуется, т.к. в коде могут быть жесткие ссылки на файлы из этой папки.
2 Разместите в корне сайта два файла: config.php и global.php. Вы можете взять за образец файлы config.sample.php и global.sample.php из папки /Nemiro.
Внесите желаемые параметры конфигурации в файл config.php.
<?php
# выполнять кеширование страниц или нет (true|false)
define('PAGE_DEFAULT_CACHE', false);
# выполнять сжатие HTML или нет (true|false)
define('PAGE_COMPRESS_HTML', false);
# включить режим отладки (true|false)
define('DEBUG_MODE', true);
# путь к корневому каталогу сайта
define('MAIN_PATH', $_SERVER['DOCUMENT_ROOT']);
# путь к файлу шаблона по умолчанию
define('PAGE_DEFAULT_TEMPLATE', '~/Layouts/_Layout.php');
# заголовок страниц сайта по умолчанию
define('PAGE_DEFAULT_TITLE', 'Название вашего сайта');
# кодировка по умолчанию
define('PAGE_DEFAULT_ENCODE', 'utf-8');
# метатеги
define('META_DESCRIPTION', 'Описание сайта');
define('META_KEYWORDS', 'Ключевые слова');
define('META_AUTHOR', 'Имя автора сайта');
define('META_URL', 'http://example.org');
define('META_ROBOTS', 'ALL');
?>
3 Создайте файл шаблона, который вы указали в параметре PAGE_DEFAULT_TEMPLATE
.
Шаблон - это обычный файл HTML со специальными метками, на месте которых будет размещаться контент. В следующем примере, в шаблоне определено два блока контента (маркера): <php:Head/>
и <php:MainContent/>
. Слова Head
и MainContent
- это идентификаторы маркеров, вы можете использовать любые названия, но только буквы английского алфавита и числа, без спец. знаков. Блоков контента может быть сколько угодно.
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width" />
<link rel="stylesheet" href="/Content/css/bootstrap.min.css" />
<script src="/Scripts/jquery-1.11.1.min.js" type="text/javascript"></script>
<script src="/Scripts/bootstrap.min.js" type="text/javascript"></script>
<php:Head/>
</head>
<body>
<div class="container">
<php:MainContent/>
</div>
</body>
</html>
4 Создайте страницу контента. Например: index.php. Определите содержимое для необходимых блоков контента (не обязательно для всех). Не забудьте подключить файл global.php: require_once 'global.php';
и начать волшебство: Nemiro\App::Magic();
.
<php:Content ID="Head">
<script src="/Scripts/jquery-1.11.1.min.js"></script>
</php:Content>
<php:Content ID="MainContent">
<h2>Привет, мир!</h2>
</php:Content>
<?php
require_once 'global.php';
Nemiro\App::Magic();
?>
5 Наслаждайтесь результатом! (в крайнем случае, процессом отладки)