|
32 / 29 / 12
Регистрация: 04.03.2013
Сообщений: 895
|
|||||||||||||||||||||||||||||||
Роуминг PHP: Как сделать редиректы и отдавать код ответа сервера?16.11.2022, 17:32. Показов 6744. Ответов 90
Здравствуйте!
Простите, если не сюда пишу. Не силен в PHP. Пишу роутинг. Работаю на OpenServer. index.php:
Сейчас открывается:
Просто domain.ru открывается без слэша. Если слэш поставить, то перекидывает на domain.ru (т.е. без слэша).
Буду благодарен советам и помощи. Прошу сильно не пинать
0
|
|||||||||||||||||||||||||||||||
| 16.11.2022, 17:32 | |
|
Ответы с готовыми решениями:
90
Как получить код ответа сервера?
|
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
|
|||||||||||||
| 22.12.2022, 18:47 | |||||||||||||
Для генерации тоже можно использовать базовый тип, тогда другие классы описывать не нужно:
Теории DDD пока можно не касаться Тем более что есть и другие.Добавлено через 6 минут
0
|
|||||||||||||
|
2600 / 1504 / 689
Регистрация: 23.08.2015
Сообщений: 3,812
|
||
| 22.12.2022, 19:00 | ||
|
В моей голове слои существуют всегда, их может быть больше или меньше, просто они могут быть не выражены явно в коде) И если мы берем какую-нибудь класс-службу, то необязательно использовать интерфейс, но мы должны проектировать таким образом, что он как-будто реализует некий интерфейс. Т. е. для меня важно, чтоб внутренняя логика не вытекала наружу. Поэтому я бы не советовал использовать флаги в принципе. Либо с осторожностью и в очень редких случаях.
0
|
||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
|
|
| 22.12.2022, 19:54 | |
|
sad67man, насчет "хоть как-то" я понял. Как будто в интерфейсе нельзя использовать флаги или не может быть "двойственной" функции (метода)...
![]() Добавлено через 6 минут Я даже в прикладные API люблю добавлять "двойственные" функции. Чтобы пользователь прошел небольшой квест, прежде чем понять всю их мощь
0
|
|
|
2600 / 1504 / 689
Регистрация: 23.08.2015
Сообщений: 3,812
|
||
| 22.12.2022, 20:47 | ||
|
Для интерфейса проблема не в самом флаге, а как я писал ранее в сигнатуре. Получается что метод всегда может вернуть null, а это значит что мы не можем полагаться на передаваемый флаг и обязаны делать проверку.... Интерфейс служит для инверсии зависимости, и как правило он принадлежит тому классу, который его использует, а не тот который его реализует. И тот кто его использует по сути и диктует правила, какие параметры будут передаваться и что должно вернуться. С этой точки зрения для него нет смысла добавлять некие бессмысленные параметры.
0
|
||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
|
|||
| 22.12.2022, 23:36 | |||
|
0
|
|||
|
32 / 29 / 12
Регистрация: 04.03.2013
Сообщений: 895
|
|||||||||||
| 28.12.2022, 15:29 [ТС] | |||||||||||
|
estic, решил здесь написать, т.к. я все еще допиливаю роутинг
![]() В файле Router.php прописал:
Если "пользователь" допишет адресную строк (пример: domain.ru/news/horoshie-novosti/user), то откроется белая страница и нет кода 404. Как в таком случае вывести 404?
0
|
|||||||||||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
|
|||||||||
| 28.12.2022, 16:19 | |||||||||
|
Добавлено через 2 минуты ![]() ![]() Добавлено через 6 минут По первому "почесыванию": если вы хотите проверить поступающий идентификатор на пустоту строки, делайте это явно, т.к. в PHP много чего приводится к bool false. И реакцию на некорректное значение нужно должным образом оформить.
1
|
|||||||||
|
32 / 29 / 12
Регистрация: 04.03.2013
Сообщений: 895
|
|
| 28.12.2022, 16:24 [ТС] | |
|
Большое спасибо за разъяснения и терпение.
Многое стало понятно
0
|
|
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
|
||
| 28.12.2022, 16:44 | ||
![]() Процитированное мной первое условие не понятно еще и в том смысле, что вы же вроде бы разделяли на уровне маршрутов (маршрутизатора) обработку /news и /news/1 (вместо 1 может быть и символьный идентификатор, просто я смотрю на начало темы). "+" в регулярном выражении означает, что должен быть хотя бы один символ (в идентификаторе). Добавлено через 4 минуты Кстати, у числовых идентификаторов, состоящих только из цифр, еще могут быть подобные дубли: 01 Нужно использовать или более строгий шаблон (чтобы в начале числа не мог появиться ноль), или какие-то специальные техники.Добавлено через 1 минуту В моих сайтах с этим все в порядке: hyde.pageshop.ru/news/01
1
|
||
|
32 / 29 / 12
Регистрация: 04.03.2013
Сообщений: 895
|
||||||
| 29.12.2022, 13:18 [ТС] | ||||||
|
estic, наконец-то я столкнулся с подключением стилей
![]() Ранее в своих HTML файлах делал так:
В интернете не смог найти понятную для себя информацию
0
|
||||||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
|
||
| 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 | |
|
Помогаю со студенческими работами здесь
91
Как узнать статус код ответа сервера WebRequest и WebResponse?
Как отдавать файлы с сервера по запросу? Парсинг ответа от php сервера Код ответа от сервера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение
Это мой обзор планшета X220 с точки зрения школьника.
Недавно я решила попытаться уменьшить свой. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|