Список сообщений Артур
SimplePage
Муз-ТВ, я раньше тоже думал, что все должно быть строго "кошерно", но со временем все больше и больше понимаешь - задачи нужно решать так, чтобы и клиент оставался доволен, и самому руки марать не пришлось. Вот SimplePage примерно из то же оперы.
Написал: Артур 04.05.2017 / 17:52
Написал: Артур 04.05.2017 / 17:52
SimplePage
О движке на хабре
Написал: Артур 04.05.2017 / 17:18
Написал: Артур 04.05.2017 / 17:18
Помогите позжалуйста.
http://johncms.com/forum/index.php?act=post&id=1013006 я просто оставлю это здесь
Написал: Артур 28.04.2017 / 16:48
Написал: Артур 28.04.2017 / 16:48
Помогите разобраться по библиотеке GD ?
На сколько я помню, набор доступных кодов цветов зависит от формата кодирования. Тобишь, в каком нить gif нельзя установить значение R = 127 (на пример).
Написал: Артур 17.04.2017 / 12:26
Написал: Артур 17.04.2017 / 12:26
Drupal кто что думает об этом движке?
Изучал, пользовал, хорошая штука
Написал: Артур 16.04.2017 / 00:34
Написал: Артур 16.04.2017 / 00:34
SimplePage
Плагины
Система никак не ограничивает возможности языка. Чтобы это показать, давайте реализуем возможности блога с единственным автором на базе синтаксиса Markdown. В первую очередь подключим механизм рендеринга этого языка. Я рекомендую для загрузки внешних зависимостей использовать Composer. Создайте файл composer.json в корне проекта:
Выполните команду в консоли (если у вас установлен composer):
После создайте ваш плагин _plugins/mk.php:
Теперь необходимо подключить плагин к проекту. Для этого измените config.php:
Плагин подключен, теперь можно использовать его на всех страницах проекта, но мы изменим с его помощью только страницу "О проекте", для этого отредактируем about/index.php:
Добавлено через 02:26 сек.
Под лендинги и сайты, думаю, подойдет просто идеально, если нужно что то посложнее, можно использовать такую схему:
Страницы получаются более структурированны (вверху контроллер, внизу шаблон) и крайне гибкими (можно сделать все, что позволяет PHP).
Добавлено через 00:51 сек.
Все описанное в данной теме прикрепляю в виде архива.
Может кому пригодиться ) Лицензировать не буду, делайте с кодом что хотите, считайте учебным проектом.
Написал: Артур 01.04.2017 / 21:19
Система никак не ограничивает возможности языка. Чтобы это показать, давайте реализуем возможности блога с единственным автором на базе синтаксиса Markdown. В первую очередь подключим механизм рендеринга этого языка. Я рекомендую для загрузки внешних зависимостей использовать Composer. Создайте файл composer.json в корне проекта:
{ "name": "MyProject", "type": "project", "require": { "michelf/php-markdown": "*" } }
Выполните команду в консоли (если у вас установлен composer):
composer install
После создайте ваш плагин _plugins/mk.php:
<?php function markdown($content){ return Michelf\Markdown::defaultTransform($content); }
Структура проекта
/ _layout/ default.html _plugins/ mk.php vendor/ css/ style.css about/ index.php sp.php config.php index.php
Теперь необходимо подключить плагин к проекту. Для этого измените config.php:
<?php return [ 'plugins' => [ 'vendor/autoload.php', // Для загрузки зависимостей '_plugins/mk.php', // Для загрузки плагина ], 'layout' => '_layout/default.html', 'title' => 'Мой сайт', ];
Плагин подключен, теперь можно использовать его на всех страницах проекта, но мы изменим с его помощью только страницу "О проекте", для этого отредактируем about/index.php:
<?php $sp = ['render' => 'markdown', 'title' => 'О проекте']; include('../sp.php'); ?> # О проекте Мой очень хороший проект
Добавлено через 02:26 сек.
Под лендинги и сайты, думаю, подойдет просто идеально, если нужно что то посложнее, можно использовать такую схему:
<?php include('sp.php'); // Контроллер страницы $db = $sp['database']; $rows = $db->query(...); ?> <!-- Шаблон --> <ul> <?php foreach($rows as $row); ?> <li><?= $row['val'] ?></li> <?php endforeach; ?> </ul>
Страницы получаются более структурированны (вверху контроллер, внизу шаблон) и крайне гибкими (можно сделать все, что позволяет PHP).
Добавлено через 00:51 сек.
Все описанное в данной теме прикрепляю в виде архива.
Может кому пригодиться ) Лицензировать не буду, делайте с кодом что хотите, считайте учебным проектом.
Написал: Артур 01.04.2017 / 21:19
SimplePage
Установка Title страницам
Контейнер (конфигурация) системы может быть дополнена на уровне любой станицы. Мы используем это правило для установки Title страницам сайта. Для начала добавим глобальное значение title всем страницам. Для этого поменяем файл config.php следующим образом:
Если вы перезагрузите страницу сайта то увидите, что Title изменился. Теперь необходимо задать новый Title странице /about, для этого изменим ее следующим образом:
После перехода на страницу /about вы увидите, что ее Title кастомизировался.
Совет: если вам нужно изменить Title всем страницам в каталоге, добавьте в этот каталог файл sp.php следующего содержания:
После чего вы можете подключать этот файл к страницам каталога вместо корневого файла sp.php:
Написал: Артур 01.04.2017 / 21:19
Контейнер (конфигурация) системы может быть дополнена на уровне любой станицы. Мы используем это правило для установки Title страницам сайта. Для начала добавим глобальное значение title всем страницам. Для этого поменяем файл config.php следующим образом:
<?php return [ 'layout' => '_layout/default.html', 'title' => 'Мой сайт', ];
Если вы перезагрузите страницу сайта то увидите, что Title изменился. Теперь необходимо задать новый Title странице /about, для этого изменим ее следующим образом:
<?php $sp = ['title' => 'О проекте']; include('../sp.php'); ?> <h1>О проекте</h1> <p>Мой очень хороший проект</p>
После перехода на страницу /about вы увидите, что ее Title кастомизировался.
Совет: если вам нужно изменить Title всем страницам в каталоге, добавьте в этот каталог файл sp.php следующего содержания:
<?php $sp = ['title' => 'Заголовок для всех страниц каталога']; include('../sp.php');
После чего вы можете подключать этот файл к страницам каталога вместо корневого файла sp.php:
<?php include('sp.php') ?> <h1>О проекте</h1> <p>Мой очень хороший проект</p>
Написал: Артур 01.04.2017 / 21:19
SimplePage
Layout
Подключим css к вашему сайта. Создайте файл css/style.css в корне вашего проекта и добавьте в него следующий стиль:
Создайте файл _layout/default.html следующего содержания:
Это будет обертка для страниц вашего сайта.
Теперь необходимо указать системе использовать эту обертку. Для этого создайте файл config.php со следующим содержимым:
После перезагрузки страницы в браузере вы увидите обновленный дизайн.
Добавлено через 00:42 сек.
Еще одна страница с ЧПУ
Предположим вам необходимо добавить на сайт страницу с описанием проекта, не нарушая принципов ЧПУ. Для этого создайте файл about/index.php следующего содержания:
Добавьте на главной странице сайта (index.php) ссылку на эту страницу:
Теперь у вас появилась новая страница на сайте, перезагрузите браузер и перейдите на нее.
Написал: Артур 01.04.2017 / 21:17
Подключим css к вашему сайта. Создайте файл css/style.css в корне вашего проекта и добавьте в него следующий стиль:
h1 { color: silver; }
Создайте файл _layout/default.html следующего содержания:
<!DOCTYPE html> <html> <head> <title><?= $title ?></title> <meta charset="utf-8" /> <link href="/css/style.css" rel="stylesheet"> </head> <body> <?= $content ?> </body> </html>
Это будет обертка для страниц вашего сайта.
Теперь необходимо указать системе использовать эту обертку. Для этого создайте файл config.php со следующим содержимым:
<?php return [ 'layout' => '_layout/default.html', ];
Структура проекта
/ _layout/ default.html css/ style.css sp.php config.php index.php
После перезагрузки страницы в браузере вы увидите обновленный дизайн.
Добавлено через 00:42 сек.
Еще одна страница с ЧПУ
Предположим вам необходимо добавить на сайт страницу с описанием проекта, не нарушая принципов ЧПУ. Для этого создайте файл about/index.php следующего содержания:
<?php include('../sp.php') ?> <h1>О проекте</h1> <p>Мой очень хороший проект</p>
Структура проекта
/ _layout/ default.html css/ style.css about/ index.php sp.php config.php index.php
Добавьте на главной странице сайта (index.php) ссылку на эту страницу:
<?php include('sp.php') ?> <h1>Hello world</h1> <p> Моя главная страница <a href="/about">проекта</a> <p>
Теперь у вас появилась новая страница на сайте, перезагрузите браузер и перейдите на нее.
Написал: Артур 01.04.2017 / 21:17
SimplePage
Делал проект для развлечения, но возможно кому то пригодиться, ибо очень прост в освоении, но при этом достаточно удобен и гибок.
Задача:
Простая и расширяемая система управления контентом, без ограничений на язык.
Решение:
Немного инфы чтоб было понятнее:
Система представляет единственный файл следующего содержания:
Далее я распишу возможности системы и процесс ее установки.
Добавлено через 01:13 сек.
Установка
Система работает на любом веб-сервере, поддерживающим PHP. Для установки необходимо переместить код системы в файл sp.php корня сайта. На этом все, система готова к работе. Правда она пока ничего не умеет.
Hello world
Создайте файл index.php в корне сайта со следующим содержанием:
Откройте браузер и перейдите на ваш сайт: http://your-site.com - вы увидите вашу главную страницу.
Написал: Артур 01.04.2017 / 21:16
Задача:
Простая и расширяемая система управления контентом, без ограничений на язык.
Решение:
Немного инфы чтоб было понятнее:
- В систему изначально включено: layout, обработка ошибок, менеджер плагинов
- Система использует возможности веб-сервера для роутинга запросов
- Система работает на голом PHP и если немного подправить, то практически любой версии
Система представляет единственный файл следующего содержания:
<?php // Шаблонизатор function template($path, array $assign = []){ extract($assign); ob_start(); include($path); return ob_get_clean(); } // Загрузка контейнера $sp = isset($sp)? $sp : []; if(is_readable(__DIR__ . '/config.php')){ $sp = array_merge(include(__DIR__ . '/config.php'), $sp); } // Загрузка плагинов if(isset($sp['plugins'])){ foreach($sp['plugins'] as $plugin){ include($plugin); } } ob_start(); register_shutdown_function(function() use($sp){ $content = ob_get_contents(); ob_end_clean(); // Обработка ошибок $error = error_get_last(); if(is_array($error) && isset($sp['error'])){ return call_user_func($sp['error'], $error, $content, $sp); } // Рендеринг страницы if(isset($sp['render'])){ $content = call_user_func($sp['render'], $content, $sp); } // Подключение layout if(isset($sp['layout'])){ $content = template($sp['layout'], [ 'title' => isset($sp['title'])? $sp['title'] : 'SimplePage', 'content' => $content, ]); } echo $content; });
Далее я распишу возможности системы и процесс ее установки.
Добавлено через 01:13 сек.
Установка
Система работает на любом веб-сервере, поддерживающим PHP. Для установки необходимо переместить код системы в файл sp.php корня сайта. На этом все, система готова к работе. Правда она пока ничего не умеет.
Структура проекта
/ sp.php
Hello world
Создайте файл index.php в корне сайта со следующим содержанием:
<?php include('sp.php') ?> <h1>Hello world</h1> <p>Моя главная страница<p>
Структура проекта
/ sp.php index.php
Откройте браузер и перейдите на ваш сайт: http://your-site.com - вы увидите вашу главную страницу.
Написал: Артур 01.04.2017 / 21:16
Взлом сейфа на visavi.net
Эт математика, легко решается простым перебором, но вероятность не 1
Написал: Артур 04.03.2017 / 14:27
Написал: Артур 04.03.2017 / 14:27