ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


 Страниц (9): « 1 2 3 4 5 6 7 8 [9]   

> Описание: Подключение PHP файла
WebMaster
Отправлено: 12 марта 2014 — 07:57
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 428
Дата рег-ции: Окт. 2013  
Репутация: 32




На счёт проверки доступа к определённым функциям, тоже есть наработки:
CODE:

user::checkForumAccess($forum_id, $access_name, $group_id=-1); // Проверяет доступ к функции отдельного форума, например может ли пользователь создавать темы в определённом форуме
user::checkGroupAccess($access_name, $group_id=-1); // Проверяет общие права доступа, например может ли пользователь отправлять ЛС


Структура MySQL таблицы с настройками доступа такова:
CODE:

CREATE TABLE IF NOT EXISTS `exbb_access` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`group_id` int(25) NOT NULL,
`forum_id` int(25) NOT NULL,
`access_name` varchar(255) NOT NULL,
`access_value` int(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


Если у поля forum_id стоит значение 0 - то настройка является общей для группы(например "Может ли пользователь отправлять ЛС"Подмигивание
 
 
1Bot
Отправлено: 12 марта 2014 — 08:23
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 773
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 69




MVC архитектура должна наконец отделить логику от интерфейса и способа хранения данных. Здорово

Дополнительно рекомендую еще более структурировать код вокруг сущностей форума, т.е. использовать классы для описания пользователя, форума, группы, категории, сообщения и т.д. и описать в классах основные действия с вызовом событий до/после действий и при исключениях.
 
 
WebMaster
Отправлено: 12 марта 2014 — 08:27
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 428
Дата рег-ции: Окт. 2013  
Репутация: 32




Уже сейчас можно писать отдельные модули... Уже есть авторизация/регистрация пользователя.
Прикрепил скрин главной страницы(то что сейчас получается)

(Отредактировано автором: 12 марта 2014 — 08:30)

 
 
WebMaster
Отправлено: 12 марта 2014 — 13:12
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 428
Дата рег-ции: Окт. 2013  
Репутация: 32




А как избавляться от такого в представлениях? Хотелось бы чистый HTML код.
Можно выполнять циклы в модели и при каждой итерации подключать файл с шаблоном?
Код (Отобразить)
 
 
1Bot
Отправлено: 12 марта 2014 — 14:09
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 773
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 69




Цитата:
Модель - содержит бизнес-логику приложения и включает методы выборки (это могут быть методы ORM), обработки (например, правила валидации) и предоставления конкретных данных, что зачастую делает ее очень толстой, что вполне нормально.
Модель не должна напрямую взаимодействовать с пользователем. Все переменные, относящиеся к запросу пользователя должны обрабатываться в контроллере.
Модель не должна генерировать HTML или другой код отображения, который может изменяться в зависимости от нужд пользователя. Такой код должен обрабатываться в видах.
Одна и та же модель, например: модель аутентификации пользователей может использоваться как в пользовательской, так и в административной части приложения. В таком случае можно вынести общий код в отдельный класс и наследоваться от него, определяя в наследниках специфичные для подприложений методы.

Вид - используется для задания внешнего отображения данных, полученных из контроллера и модели.
Виды cодержат HTML-разметку и небольшие вставки PHP-кода для обхода, форматирования и отображения данных.
Не должны напрямую обращаться к базе данных. Этим должны заниматься модели.
Не должны работать с данными, полученными из запроса пользователя. Эту задачу должен выполнять контроллер.
Может напрямую обращаться к свойствам и методам контроллера или моделей, для получения готовых к выводу данных.
Виды обычно разделяют на общий шаблон, содержащий разметку, общую для всех страниц (например, шапку и подвал) и части шаблона, которые используют для отображения данных выводимых из модели или отображения форм ввода данных.

Контроллер — связующее звено, соединяющее модели, виды и другие компоненты в рабочее приложение. Контроллер отвечает за обработку запросов пользователя. Контроллер не должен содержать SQL-запросов. Их лучше держать в моделях. Контроллер не должен содержать HTML и другой разметки. Её стоит выносить в виды.
В хорошо спроектированном MVC-приложении контроллеры обычно очень тонкие и содержат только несколько десятков строк кода. Логика контроллера довольно типична и большая ее часть выносится в базовые классы.
Модели, наоборот, очень толстые и содержат большую часть кода, связанную с обработкой данных, т.к. структура данных и бизнес-логика, содержащаяся в них, обычно довольно специфична для конкретного приложения.


Если в представлении необходим вывод циклических данных, то проще в цикле как раз и вызывать вывод представления для отдельных элементов.
 
 
WebMaster
Отправлено: 12 марта 2014 — 14:23
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 428
Дата рег-ции: Окт. 2013  
Репутация: 32




Цитата:
Если в представлении необходим вывод циклических данных, то проще в цикле как раз и вызывать вывод представления для отдельных элементов.


Т.е. должно быть так?
CODE:

class ModelIndex extends Model {
public function getData() {
// ...
foreach ($allCats as $cat) {
// ...
foreach ($keys as $key) {
template::view('index', 'forum_data');
}
//...
}

}
// Тут другие методы
}
 
 
WebMaster
Отправлено: 13 марта 2014 — 07:46
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 428
Дата рег-ции: Окт. 2013  
Репутация: 32




Цитата:
Дополнительно рекомендую еще более структурировать код вокруг сущностей форума, т.е. использовать классы для описания пользователя, форума, группы, категории, сообщения и т.д. и описать в классах основные действия с вызовом событий до/после действий и при исключениях.

Написал класс для описания пользователя... Использовать можно так:
CODE:

// Изменение пользователя
$id = 1; // ID пользователя
$user = new User($id);
$user->setPosts($user->getPosts()+1);
$user->setName('Пользователь!');
$user->save(); // Сохранить новые данных в БД

// Создание пользователя
$user = new User();
$user->setLogin('UserLogin');
$user->setPassword('password');
$user->setMail('mail@mai.ru');
$user->setPosts(0);
$user->setName('Вася');
$user->setGroupId(3);
$user->save();

// Удаление пользователя
$user = new User(1);
$user->delete();


Таблица для пользователей в БД выглядит так, полей минимум.
CODE:
CREATE TABLE IF NOT EXISTS `exbb_users` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`login` varchar(50) NOT NULL,
`password` varchar(255) NOT NULL,
`mail` varchar(50) NOT NULL,
`posts` int(10) NOT NULL,
`name` varchar(50) NOT NULL,
`group_id` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
 
1Bot
Отправлено: 13 марта 2014 — 07:48
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 773
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 69




1Bot пишет:
Если в представлении необходим вывод циклических данных, то проще в цикле как раз и вызывать вывод представления для отдельных элементов.


Моя ошибка: не в представлении, а в отображении!
Т.е. правильно:
Если в отображении необходим вывод циклических данных, то проще в цикле как раз и вызывать вывод методов отображения для отдельных элементов.
 
 
YuraP0d
Отправлено: 7 июня 2014 — 19:53
Post Id



Пользователь
Member


Покинул форум
Сообщений всего: 133
Дата рег-ции: Июнь 2013  
Репутация: 2




Привет всем, нужна помощь, есть страница на которой выводится форма коментариев спомощью JS
CODE:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<link rel="stylesheet" href="/comment/ecomment.css" type="text/css"></script>

позже я подключил на эту страницу ещё один JS для увеличения картинок с классом
CODE:
class="magnify leftimg"
CODE:
leftimg
это стиль размещения
CODE:
<script type="text/javascript" src="/js/jquery.magnifier.js"></script>

картинки увеличиваются а форма с коментариями теперь не работает, либо отображается но не работает, либо её нет вообще(по разному пробовал), это из-за второго JS, можно ли его подключить так, что бы всё работало?

полностью всё рамещается так
CODE:
<head>
<meta charset="UTF-8">
<title>...</title>
<meta name="description" content="...">
<meta name="keywords" content="...">
<link href="/style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<link rel="stylesheet" href="/comment/ecomment.css" type="text/css">
<script type="text/javascript" src="/js/jquery.magnifier.js"></script>
</head>

(Отредактировано автором: 7 июня 2014 — 19:58)

 
 
YuraP0d
Отправлено: 7 июня 2014 — 20:46
Post Id



Пользователь
Member


Покинул форум
Сообщений всего: 133
Дата рег-ции: Июнь 2013  
Репутация: 2




А может, что бы не парится с этим увеличение картинок сделать через css? Но как не знаю, хорошо бы пример, с настройками бордюра и фона для картинок, а то некоторые в .png, и неохота их в .jpg переводить
 
 
Страниц (9): « 1 2 3 4 5 6 7 8 [9]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« HTML »

> Похожие темы: Подключение PHP файла
Темы Форум Информация о теме Обновление
Менеджер файлов
Плагин, который позволяет управлять файлами вашего форума.
Плагины Ответов: 16
Автор темы: WebMaster
28 сентября 2015 — 10:48
Автор: WebMaster
Разрешенные расширения файлов для загрузки.
Загружается неразрешенное на форуме расширение файла изображения.
Решение проблем Ответов: 1
Автор темы: alexx
9 июля 2010 — 07:53
Автор: Александр Михалицын
ExBB FM RC1
в архиве с дистрибутивом нет файла _index.php - не могу сделать поиск на форуме
Настройка форума Ответов: 2
Автор темы: mero
22 апреля 2009 — 20:54
Автор: mero
Fatal error: Cannot run code from this file in conjunction with non encoded files in
глюк с файлами темы форума
Решение проблем Ответов: 10
Автор темы: alexx
2 июля 2010 — 14:10
Автор: alexx
Помогите сдополнением в админке
Редактирование конкретного txt файла
Обсуждение Ответов: 11
Автор темы: Guyver
17 апреля 2016 — 03:07
Автор: Guyver
 



Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0897]     [ ]