[PHP] Task framework
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
О фреймворке
Task framework основан на MVC парадигме с удобством использования и минимум функционала для решения простых задач.
В отличие от стандартных решений вместо контроллера тут используется задача (task)
ссылка на фреймворк который так же использует task
jsock-framework-tutorial.blogspot.com
java-framework-jsocket.blogspot.com
github.com/nnpa/jsock
Установка фреймворка task
1. Скачайте архив с фреймворком
2. Распакуйте в папку task в директорию где у вас хранятся сайты.
3. Скачайте каркас для приложения
5. Распакуйте в папку site в в директорию где у вас хранятся сайты.
6. Создайте базу данных в mysql.
7. Скачайте таблицу users и экспортируйте в созданную базу данных.
Должно получится такое дерево каталогов
/webroot/task
/webroot/site
8. Настройте веб сервер что бы корневая папка /webroot/site была привязана к определенному хосту при помощи веб сервера который вы используете.
9. Зайдите в папку config и откройте config.php и отредактируйте массив подключения к базе данных на ваши значения подключения и переменную host.
MVC парадигма
Task framework использует MVC парадигму для лучшего разделения логики шаблонов представлений, моделей и контроллера.
Вместо контроллера в Task framework используются задачи Task — задачи расположены в папке tasks и предназначены для выполнения логики приложения.
Модели хранятся в папке models и предназначены для работы с логикой базы данных.
Представления хранятся в папке view и предназначены для работы с логикой представления.
Task
Task (или Controller) располагаются в папке tasks.
Task создаются по переменной в url сайта request:
Если переменная request = test то будет создан экземпляр класса Task который хранится в папке tasks в файле test.php и называется test.
index.php?request=test
Пример класса test.php:
include_once('WebTask.php');
class Test extends WebTask{
public function run(){
//логика приложения
}
}
Обязательно task должен быть унаследован от WebTask и в нем должен быть создан метод run()
Models
Models располагаются в папке models и отвечают за логику работы с базой данных.
Модели привычнее всего создавать в tasks.
Модель должна быть создана в папке models и быть унаследована от Model так же должно быть прописано поле $table_name.
Пример класса models/users.php:
class Users extends Model{
public $table_name = 'users';
}
В классе Model заранее реализован набор методов для работы с базой данных.
findBySql
$users = new Users();
$users->findBySql("SELECT * FROM `users`");
foreach($users as $user) {
echo $user['email'] . "<br>";
}
findByPk
$users = new Users();
$users->findByPk(3);
echo $users->email;
find
$users = new Users();
$users->find("email <> ''");
foreach($users as $user) {
echo $user['email'] . "<br>";
}
update
$users = new Users();
$users->findByPk(3);
$users->email = "yandex@mail.ru";
$users->update();
save
$users = new Users();
$users->email = "yandex@mail.ru";
$users->id = NULL;
$users->save()
;
delete
$users = new Users();
$users->delete("id = 6");
exec
$users = new Users();
$users->exec("free sql string"); //mysqli_result
DB
App::$DB->exec("free sql string");//mysqli_result
view
Шаблоны представлений хранятся в папке /view/ отвечают за логику представлений.
Представление вызывается в конце метода run класса task при помощи метода render.
В представление передаются переменные которые будут использованы в логике представления.
Пример site task:
include_once('WebTask.php');
class Site extends WebTask{
public function run(){
$users = new Users();
$users->find("email <> ''");
$this->render('site',[
'users' => $users,
]);
}
}
В методе run модель с пользователями передается в шаблон view/site.php где происходит обработка результатов поиска и генерация html:
<?php
foreach($users as $user) {
echo $user['email'] . "<br>";
}
?>
Так же в папке view/layout расположен основной шаблон main.php который является главным шаблоном куда в переменную {content} подгружаются наши представления.
Авторизация пользователя
В фреймворке уже реализована регистрация и авторизация по ссылкам login и register.
Метод приложения который позволяет проверять являет ли пользователь авторизованным App::isGuest()
В завершении
task-framework blog
Фреймворк будет дальше разрабатывать и тестироваться на разрабатываемых на нем приложениях.
Cпасибо.
===========
Источник:
habr.com
===========
Похожие новости:
- [PHP, Конференции, Программирование, Разработка веб-сайтов] 29 ноября в Москве конференция по PHP в России будет офлайн
- [PHP, Анализ и проектирование систем, Высокая производительность, Интерфейсы, Управление e-commerce] Как я за вечер написал быструю CMS для статических сайтов по правилам бизнес-логики в одном файлике
- [PHP, Symfony, Yii, Laravel] PHP-митапы возвращаются в смешанном формате. Вот ссылки на трансляции из Ульяновска, Йошкар-Олы, Самары, Краснодара
- [PHP, Отладка, Проектирование и рефакторинг, Разработка веб-сайтов] Я сомневался в юнит-тестах, но…
- [Разработка веб-сайтов, PHP, Laravel] Laravel–Дайджест (5–11 октября 2020)
- [PHP, Magento] ObjectManager в Magento 2
- [Тестирование IT-систем, PHP, Отладка, Тестирование мобильных приложений] Ловим баги на клиенте: как мы написали свою систему для сбора клиентских ошибок
- [Laravel, PHP, Разработка веб-сайтов] Laravel–Дайджест (28 сентября – 4 октября 2020)
- [PHP, Глобальные системы позиционирования, JavaScript, Геоинформационные сервисы] Как высчитать ключи перехода от лобой системы координат к WGS с сантиметровой точностью?
- [CMS, WordPress, PHP, MySQL, Nginx] Перенос форума IPB в bbPress WordPress
Теги для поиска: #_php, #_php, #_php_framework, #_php
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:47
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
О фреймворке Task framework основан на MVC парадигме с удобством использования и минимум функционала для решения простых задач. В отличие от стандартных решений вместо контроллера тут используется задача (task) ссылка на фреймворк который так же использует task jsock-framework-tutorial.blogspot.com java-framework-jsocket.blogspot.com github.com/nnpa/jsock Установка фреймворка task 1. Скачайте архив с фреймворком 2. Распакуйте в папку task в директорию где у вас хранятся сайты. 3. Скачайте каркас для приложения 5. Распакуйте в папку site в в директорию где у вас хранятся сайты. 6. Создайте базу данных в mysql. 7. Скачайте таблицу users и экспортируйте в созданную базу данных. Должно получится такое дерево каталогов /webroot/task /webroot/site 8. Настройте веб сервер что бы корневая папка /webroot/site была привязана к определенному хосту при помощи веб сервера который вы используете. 9. Зайдите в папку config и откройте config.php и отредактируйте массив подключения к базе данных на ваши значения подключения и переменную host. MVC парадигма Task framework использует MVC парадигму для лучшего разделения логики шаблонов представлений, моделей и контроллера. Вместо контроллера в Task framework используются задачи Task — задачи расположены в папке tasks и предназначены для выполнения логики приложения. Модели хранятся в папке models и предназначены для работы с логикой базы данных. Представления хранятся в папке view и предназначены для работы с логикой представления. Task Task (или Controller) располагаются в папке tasks. Task создаются по переменной в url сайта request: Если переменная request = test то будет создан экземпляр класса Task который хранится в папке tasks в файле test.php и называется test. index.php?request=test Пример класса test.php: include_once('WebTask.php');
class Test extends WebTask{ public function run(){ //логика приложения } } Обязательно task должен быть унаследован от WebTask и в нем должен быть создан метод run() Models Models располагаются в папке models и отвечают за логику работы с базой данных. Модели привычнее всего создавать в tasks. Модель должна быть создана в папке models и быть унаследована от Model так же должно быть прописано поле $table_name. Пример класса models/users.php: class Users extends Model{
public $table_name = 'users'; } В классе Model заранее реализован набор методов для работы с базой данных. findBySql $users = new Users();
$users->findBySql("SELECT * FROM `users`"); foreach($users as $user) { echo $user['email'] . "<br>"; } findByPk $users = new Users();
$users->findByPk(3); echo $users->email; find $users = new Users();
$users->find("email <> ''"); foreach($users as $user) { echo $user['email'] . "<br>"; } update $users = new Users();
$users->findByPk(3); $users->email = "yandex@mail.ru"; $users->update(); save $users = new Users();
$users->email = "yandex@mail.ru"; $users->id = NULL; $users->save() delete $users = new Users();
$users->delete("id = 6"); exec $users = new Users();
$users->exec("free sql string"); //mysqli_result DB App::$DB->exec("free sql string");//mysqli_result
view Шаблоны представлений хранятся в папке /view/ отвечают за логику представлений. Представление вызывается в конце метода run класса task при помощи метода render. В представление передаются переменные которые будут использованы в логике представления. Пример site task: include_once('WebTask.php');
class Site extends WebTask{ public function run(){ $users = new Users(); $users->find("email <> ''"); $this->render('site',[ 'users' => $users, ]); } } В методе run модель с пользователями передается в шаблон view/site.php где происходит обработка результатов поиска и генерация html: <?php
foreach($users as $user) { echo $user['email'] . "<br>"; } ?> Так же в папке view/layout расположен основной шаблон main.php который является главным шаблоном куда в переменную {content} подгружаются наши представления. Авторизация пользователя В фреймворке уже реализована регистрация и авторизация по ссылкам login и register. Метод приложения который позволяет проверять являет ли пользователь авторизованным App::isGuest() В завершении task-framework blog Фреймворк будет дальше разрабатывать и тестироваться на разрабатываемых на нем приложениях. Cпасибо. =========== Источник: habr.com =========== Похожие новости:
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:47
Часовой пояс: UTC + 5