
Dmitry
11.11.2017
20:59:38
в общем хорош с офтопом

Andrew P.
11.11.2017
21:00:10
так ночь же) типа можно))

49576
11.11.2017
21:02:46
просто я из светлых побуждений решил какой нибудь фреймворк js-овский поизучать. не всю ведь жись писать на пхп. надо и обратную сторону зла знать в лицо. а тут как раз анонс попался на глаза что вышла 5 версия angular. и всё то там не по пхп-шному
прошло пол дня на попытки увидеть hello world. постепенно желание отпадает и сигареты заканчиваются

Google

Andrew P.
11.11.2017
21:55:20
49576 а не думал разрабатывать десктопные приложения на движке chromium?)

Vasilii
11.11.2017
23:57:40
Sikuli - кто нибудь рабтал с ней?

Andrew P.
12.11.2017
00:11:27
Sikuli script? чуть слезу не пустил)
спасибо)
забыл, как называется эта штука) а найти не мог))))
???

Aleksey
12.11.2017
11:28:46
Ребят подскажите еще как правильно сделать автозагрузку контроллеров из разных папок, если строка зарпоса содержит admin, то грузим из папки controllers/admin, если запрос не содержит admin, то грузим просто из папки controllers. Проблема в том, что я использую автозагрузку и сечас контроллеры подгружаются автоматически. И если например запрос содержит admin, автозагрузка проверяет папку controllers и находит там указанный класс, но не находит методов, то папку controllers/admin она уже не проверяет, а я хочу раздельно хранить методы для фронт и админки, а не в одном классе
Автозагрузка: http://prntscr.com/h9es44

Dmitry
12.11.2017
11:31:31
Возьми готовый роутер, или хотя бы посмотри, как он делается. Вся эта "автозагрузка" в итоге выйдет боком, делай сразу роутер с конфигом "урл —- контроллер"

Aleksey
12.11.2017
11:33:25
Вот класс app : http://prntscr.com/h9esmt

Dmitry
12.11.2017
11:34:21
не используй это слово ;) автозакгрузка - это поиск класса на диске по его имени, будешь путать людей
https://github.com/nikic/FastRoute вот посмотри как вариант

Google

Pavel
12.11.2017
11:36:51
Ты свой фреймверк чтоли пишешь?

Aleksey
12.11.2017
11:37:29

Dmitry
12.11.2017
11:37:56
Сначала, конечно, роутинг урла в контроллер и метод напрямую выглядит удобно, но потом начинаются "исключения", появляются кучи if-ов... и код становится трудным ;)

Aleksey
12.11.2017
11:38:17
Недавно началь изучать php, так что сильно не пинайте

Dmitry
12.11.2017
11:40:45
но в общем, если ты хочешь напрямую из урла в контроллер делать соответствие, то тебе автолоад не нужен для этого пхп-шный... просто проверяешь файл на диске, если есть - include его
типа If admin - include "controllers/admin/{$controllerName}.php" - else - include "controllers/not-admin/{$controllerName}.php" :)
но это в общем только если легаси у тебя какое-то, вообще для этого существуют неймспейсы

Aleksey
12.11.2017
11:43:28

Dmitry
12.11.2017
11:44:07
ну да, автолоад срабаывает только если класс не найден, а если ты его заранее сам загрузил из файла - то до автолоада этот клас и не дойдет

Aleksey
12.11.2017
11:44:28

Gordon
12.11.2017
11:44:36

Dmitry
12.11.2017
11:45:16
чужой старый говнокод ;))
ну, впрочем, необязательно чужой ;)

Gordon
12.11.2017
11:45:36
ааа, понятно)

Aleksey
12.11.2017
11:45:39

Максим
12.11.2017
11:51:35

Aleksey
12.11.2017
11:52:32

Dmitry
12.11.2017
11:56:17
ну потому что композер все же не для этого используют ;)

Максим
12.11.2017
11:59:26

Google

Dmitry
12.11.2017
12:00:27
ну свой пср4 автолоадер 5 минут писать, а так да, можно и его

Максим
12.11.2017
12:01:48

Dmitry
12.11.2017
12:04:31
Да какой там пример. В самом простом случае у тебя неймспейс соответствует пути на диске. Берешь имя класса пришедшее, меняешь слеши, спереди цепляешь начало пути на диске, а сзади цепляшь .php - вот и весь автолоадер ;)

Максим
12.11.2017
12:05:09

Dmitry
12.11.2017
12:15:50
а если без упрощений, то вся суть пср4 сводится к тому, что взять любую часть неймспейса и отмапить ее в директорию на диске, а оставшуюся часть -уже как путь по диску... т.е. массив соответствий неймспейс-путь и цикл по имени класса с поверкой.... в общем тоже 5 минут ;_


Aleksey
12.11.2017
12:40:57
Ребят есть еще у кого-нибудь хороший пример класса View без какой-либо жесткой привязки, чтобы можно было например для админки делать одно представление и использовать layout, для фронта другое представление, для контроллера index фронта, например вообще отдельный шаблон без layout, а для внутренних страниц другой шаблон с layout? и по умолчанию например, для фронта один layout, для админки другой, все остальное переопределяем. В какую сторону копать или где можно чуток подглядеть? или придется все с нуля писать?
Ребят есть еще у кого-нибудь хороший пример класса View без какой-либо жесткой привязки, чтобы можно было например для админки делать одно представление и использовать layout, для фронта другое представление, для контроллера index фронта, например вообще отдельный шаблон без layout, а для внутренних страниц другой шаблон с layout? и по умолчанию например, для фронта один layout, для админки другой, все остальное переопределяем. В какую сторону копать или где можно чуток подглядеть? или придется все с нуля писать?
И чтобы изначально у каждого методы не надо было писать свой вызов представления, а только у тех, которые переопределяем

Admin
ERROR: S client not available

Pavel
12.11.2017
12:47:27
Ребят есть еще у кого-нибудь хороший пример класса View без какой-либо жесткой привязки, чтобы можно было например для админки делать одно представление и использовать layout, для фронта другое представление, для контроллера index фронта, например вообще отдельный шаблон без layout, а для внутренних страниц другой шаблон с layout? и по умолчанию например, для фронта один layout, для админки другой, все остальное переопределяем. В какую сторону копать или где можно чуток подглядеть? или придется все с нуля писать?
В сторону наследования копай. Класс View ничего не знает ни о существовании фронта, ни о админке, он просто предоставляет абстракции. А дальше уже идут наследники AdminView, FrontView и т.д. с заданным лейаутом.

Aleksey
12.11.2017
12:55:32

Alexsandr
12.11.2017
14:01:19
Всем привет
Как удалить старые сообщения с чата телеграмм?

Alexsandr
12.11.2017
14:02:15
Забили всю память уже
Очистить кеш не помогает

Aleksey
12.11.2017
14:18:53

Alexsandr
12.11.2017
17:39:26
А что они автоматом подгружатся опять?

Sparrow
12.11.2017
17:47:09
ребята как в этот код добавить такое
пока данные не загрузились чтобы подругажался какой нибудь preloader или спиннер крутился или просто текст написан был Загружается подождите
$(function() {
$('#form_search').submit(function(event) {
event.preventDefault();
var data = $(this).serialize();
$.ajax({
type: "POST",
url: "/avia.php",
data: data,
success: function(result) {
$('#result_air').html(result);
}
});
})
});

Gordon
12.11.2017
21:12:41
ребят вопрос. я вот что то не могу понять, почему логика работы не такая, у скрипта, как я расчитывал?
https://pastebin.com/u4DvS8r4
значит, если на входе ($_GET['f']) мы имеем не валидный файл, то все манипуляции с БД срабатывают, в противном случае он мне его сразу выплёвывает, как будто никаких проверок и не происходило?
там, получается я просто в базе веду счётчик активных сессий скачивания, а функция file_force_download() должна потихоньку отдавать файл
если все проверки прошли успешно

Google

Александр
12.11.2017
21:13:36
После serialize пишешь
$("#куда там нужно").html("загрузка");

Gordon
12.11.2017
21:18:20
urlencode?

Александр
12.11.2017
21:30:53
urlencode?
Так юзер может запросить любой файл. Вообще любой. И ты его отдашь

Gordon
12.11.2017
21:31:09
ну я эти проверки еще не делал
столкнулся ж с проблемой и вот
это хранилище типа
там в конфиге путь до папки, а уже дальше из гета кусок