<?php
// Файл articles/create.php
$sp = [
'acl' => [
'allowed' => [
'admin' => '*' // Только юзеры с ролью admin могут сюда попасть, остальным доступ закрыт
]
]
];
по моему это неудобно. не гибко
лучше делать доступ по принципу модуль:экшен
всегда можно будет добавить права конкретному пользователю или целой группе, и убрать
Добавлено: 17.04.2017 / 13:16
ramzes, оно тут так и работает, просто это пример одной страницы, обычно же наоборот, конфиги указываются для всех страниц как то так:
<?php
// Файл config.php
$sp = [
'acl' => [
'allowed' => [
'guest' => [ // Незареганные
'articles/index.php' => ['GET'], // Список статей
'articles/view/index.php' => ['GET'], // Просмотр статьи
],
'user' => [ // Зареганные
'articles/index.php' => ['GET'], // Список статей
'articles/view/index.php' => ['GET'], // Просмотр статьи
'articles/create/index.php' => ['GET'], // Создание статьи
'articles/create.php' => ['POST'], // Создание статьи
],
'admin' => '*' // Админы могут все
]
]
];
Добавлено: 17.04.2017 / 13:17
Фильтрация ввода и работа с БД
<?php
$sp = [
'layout' => [
'title' => 'Статья',
],
'input' => [
INPUT_GET => [
'id' => [
FILTER_SANITIZE_NUMBER_INT,
[
'filter' => FILTER_VALIDATE_INT,
'options' => ['min_range' => 1],
'comment' => 'Идентификатор должен быть положительным, целым числом'
]
],
],
],
'pdo' => [
'queries' => [
'article' => [
'SELECT * FROM article WHERE id = :id',
'params' => [
'id' => &$_GET['id'],
],
],
],
],
];
include('../../sp.php');
$article = $article->fetch();
?>
<h1>
<?= $article->title ?>
</h1>
<div>
<?= $article->content ?>
</div>
<ul>
<li>
<a href="/articles/edit?id=<?= $article->id ?>">edit</a>
</li>
<li>
<a href="/articles/delete.php?id=<?= $article->id ?>">delete</a>
</li>
</ul>
Delphinum, а не получится что конфиг будет сортовлять 4 / 5 кода?
Koenig, соль в том, что кода там должно быть минимум, конфиг это декларация, в которой ты указываешь что хочешь получить в результате, а как это будет достигнуто, решит сама система. Это снижает порог входа для новичков и позволяет сократить число ошибок
Delphinum, ну если конфиг будет расти вправо, то новичок скорее всего запутается и забудет где нибудь добавить запятую
# Koenig (17.04.2017 / 13:26)
Delphinum, ну если конфиг будет расти вправо, то новичок скорее всего запутается и забудет где нибудь добавить запятую
отладчик ему об этом скажет.
если он не способен прочитать текст ошибки, то зачем вообще тогда все?)
Koenig, я думаю реализовать модуль для администрирования всего этого "мышкой", чтоб система сама могла себя конфигурировать.
Суть в том, что если ты опытен, то ты не ставишь себе этот модуль (или не ставишь дистрибутив с ним), а редачишь руками.
я еще не проснулс0 и не могу врубиться что оно такое и зачем оно нужно
ктонить разжует ??
Crack, эт простая CMS, работающая через конфиги и минимум программирования
Delphinum, очень компактно