|
32 / 29 / 12
Регистрация: 04.03.2013
Сообщений: 897
|
|||||||||||||||||||||||||||||||
Роуминг PHP: Как сделать редиректы и отдавать код ответа сервера?16.11.2022, 17:32. Показов 7581. Ответов 90
Здравствуйте!
Простите, если не сюда пишу. Не силен в PHP. Пишу роутинг. Работаю на OpenServer. index.php:
Сейчас открывается:
Просто domain.ru открывается без слэша. Если слэш поставить, то перекидывает на domain.ru (т.е. без слэша).
Буду благодарен советам и помощи. Прошу сильно не пинать
0
|
|||||||||||||||||||||||||||||||
| 16.11.2022, 17:32 | |
|
Ответы с готовыми решениями:
90
Как получить код ответа сервера?
|
|
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,938
|
|||||||||||||
| 22.12.2022, 18:47 | |||||||||||||
Для генерации тоже можно использовать базовый тип, тогда другие классы описывать не нужно:
Теории DDD пока можно не касаться Тем более что есть и другие.Добавлено через 6 минут
0
|
|||||||||||||
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
||
| 22.12.2022, 19:00 | ||
|
В моей голове слои существуют всегда, их может быть больше или меньше, просто они могут быть не выражены явно в коде) И если мы берем какую-нибудь класс-службу, то необязательно использовать интерфейс, но мы должны проектировать таким образом, что он как-будто реализует некий интерфейс. Т. е. для меня важно, чтоб внутренняя логика не вытекала наружу. Поэтому я бы не советовал использовать флаги в принципе. Либо с осторожностью и в очень редких случаях.
0
|
||
|
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,938
|
|
| 22.12.2022, 19:54 | |
|
sad67man, насчет "хоть как-то" я понял. Как будто в интерфейсе нельзя использовать флаги или не может быть "двойственной" функции (метода)...
![]() Добавлено через 6 минут Я даже в прикладные API люблю добавлять "двойственные" функции. Чтобы пользователь прошел небольшой квест, прежде чем понять всю их мощь
0
|
|
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
||
| 22.12.2022, 20:47 | ||
|
Для интерфейса проблема не в самом флаге, а как я писал ранее в сигнатуре. Получается что метод всегда может вернуть null, а это значит что мы не можем полагаться на передаваемый флаг и обязаны делать проверку.... Интерфейс служит для инверсии зависимости, и как правило он принадлежит тому классу, который его использует, а не тот который его реализует. И тот кто его использует по сути и диктует правила, какие параметры будут передаваться и что должно вернуться. С этой точки зрения для него нет смысла добавлять некие бессмысленные параметры.
0
|
||
|
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,938
|
|||
| 22.12.2022, 23:36 | |||
|
0
|
|||
|
32 / 29 / 12
Регистрация: 04.03.2013
Сообщений: 897
|
|||||||||||
| 28.12.2022, 15:29 [ТС] | |||||||||||
|
estic, решил здесь написать, т.к. я все еще допиливаю роутинг
![]() В файле Router.php прописал:
Если "пользователь" допишет адресную строк (пример: domain.ru/news/horoshie-novosti/user), то откроется белая страница и нет кода 404. Как в таком случае вывести 404?
0
|
|||||||||||
|
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,938
|
|||||||||
| 28.12.2022, 16:19 | |||||||||
|
Добавлено через 2 минуты ![]() ![]() Добавлено через 6 минут По первому "почесыванию": если вы хотите проверить поступающий идентификатор на пустоту строки, делайте это явно, т.к. в PHP много чего приводится к bool false. И реакцию на некорректное значение нужно должным образом оформить.
1
|
|||||||||
|
32 / 29 / 12
Регистрация: 04.03.2013
Сообщений: 897
|
|
| 28.12.2022, 16:24 [ТС] | |
|
Большое спасибо за разъяснения и терпение.
Многое стало понятно
0
|
|
|
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,938
|
||
| 28.12.2022, 16:44 | ||
![]() Процитированное мной первое условие не понятно еще и в том смысле, что вы же вроде бы разделяли на уровне маршрутов (маршрутизатора) обработку /news и /news/1 (вместо 1 может быть и символьный идентификатор, просто я смотрю на начало темы). "+" в регулярном выражении означает, что должен быть хотя бы один символ (в идентификаторе). Добавлено через 4 минуты Кстати, у числовых идентификаторов, состоящих только из цифр, еще могут быть подобные дубли: 01 Нужно использовать или более строгий шаблон (чтобы в начале числа не мог появиться ноль), или какие-то специальные техники.Добавлено через 1 минуту В моих сайтах с этим все в порядке: hyde.pageshop.ru/news/01
1
|
||
|
32 / 29 / 12
Регистрация: 04.03.2013
Сообщений: 897
|
||||||
| 29.12.2022, 13:18 [ТС] | ||||||
|
estic, наконец-то я столкнулся с подключением стилей
![]() Ранее в своих HTML файлах делал так:
В интернете не смог найти понятную для себя информацию
0
|
||||||
|
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,938
|
||
| 29.12.2022, 15:56 | ||
![]() Я вам давал ссылку на шаблон. Или baseurl используете (конфигурационный параметр приложения или обычную константу), или просто на ветвь текущего хоста со статическими файлами ссылаетесь: /assets/... - обратите внимание на первый слэш, это важно. Добавлено через 3 минуты Проблема с расположением файлов относительно index.php Добавлено через 5 минут Если боитесь случайно повторно задействовать эту ветвь для динамического содержимого, можно сразу создать какой-нибудь блокирующий маршрут для /assets/... ![]() Добавлено через 4 минуты Лишних каталогов в корне лучше не создавать, чтобы меньше "блокировать" и провоцировать подобные потенциальные конфликты. В моих CMS, если статические файлы размещаются на том же хосте, обычно используются assets (или аналог), images для графических файлов, относящихся к основному содержимому, и files для всех прочих типов файлов, относящихся к основному содержимому. По аналогии с images в общем-то можно создавать videos и т.п. Если используется файловый кэш, в корне может быть и cache, но не обязательно (если кэш читает непосредственно код приложения, он вполне может это сделать из каталога вне корня). На блокирующие маршруты при необходимости можно "навесить" и полезную функциональность, например генерацию статических файлов "по первому запросу", вывод "несуществующих" файлов и т.п. Примером вывода "несуществующего" файла может быть вывод atom.xml на демонстрационном сайте, который я показывал: hyde.pageshop.ru/atom.xml (код вывода содержимого этого файла есть в упомянутом шаблоне). Кстати, для файлов, расположенных непосредственно в корневом каталоге, тоже могут понадобиться блокирующие маршруты, если вы боитесь потери вывода одноименных динамических страниц из-за приоритета статических файлов.
1
|
||
| 29.12.2022, 15:56 | |
|
Как узнать статус код ответа сервера WebRequest и WebResponse?
Как отдавать файлы с сервера по запросу? Парсинг ответа от php сервера Код ответа от сервера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|