Автор Гілка: Міні-задачка на/з програмування  (Прочитано 8142 раз)

gdekjifgb

  • Гість
ДАНО:
З класу (точніше з метода ОБ'ЄКТА) $md->get_day_of_week() отримуємо ДЕНЬ ТИЖНЯ

Сім посилань, наприклад, /#freshContent /activity/posts-pg1-sort2/ /activity/comments-pg1-sort2/ /activity/pics-pg1-sort2/ /activity/fotocomments-pg1-sort2/  /activity/fotoalbums-pg1-sort2/ /user/posts-by-tag-1-pg1-sort2-ssSiteNews/

В конкретний день тижня, після виходу користувача з сайту (після натискання на кнопку ВИХІД), відбувається редірект на конкретне посилання.

В понеділок на перше посилання, у вівторок на друге і тд.

---
Як би ви це реалізували мовою (мовами) вебпрограмування?
---

ДОПИСУЮ: завтра/післязавтра похвастаюсь своїм рішенням.
« Змінено: 2021-10-29 01:38:12 від gdekjifgb »

Відсутній ysenko

  • Новачок
  • *
  • дописів: 38
  • Карма: +1/-0
  • Python developer
Re: Міні-задачка на/з програмування
« Відповідей #1 : 2021-10-29 15:21:18 »
Прочитав кілька разів і досі не розумію в чому саме проблема? Динамічно згенервувати URL чи поставити у відповідність кожному дню тижня URL - для цього є спеціальні структури даних - HashMap/Dict, в залежності від мови? Зробити redirect на цей URL - тут уже ваш веб фреймоврк має допомогти? Щось інше?
import antigravity

gdekjifgb

  • Гість
Re: Міні-задачка на/з програмування
« Відповідей #2 : 2021-10-29 15:29:56 »
 :D та ніяких проблем нема. Просто цікаво хто і як це реалізовує.

У мене так.
    private static function go_after_logout() {
        $logout_ar = array(
          1 => '/#freshContent',
          2 => '/activity/posts-pg1-sort2/',
          3 => '/activity/comments-pg1-sort2/',
          4 => '/activity/pics-pg1-sort2/',
          5 => '/activity/fotocomments-pg1-sort2/',
          6 => '/activity/fotoalbums-pg1-sort2/',
          7 => '/user/posts-by-tag-1-pg1-sort2-ssSiteNews/',
        );
        $rd = new Redirect();
        $md = new Mdate();
        $dow = $md->get_day_of_week();
        $url = $logout_ar[$dow];
        $rd->go_2url($url);
    }
   

Таке рішення науково-грамотне (правильне)?, чи ні?

Хтось колись на лоу обізвав/назвав мій сайт "проектом студента першого курсу... чи дипломною роботою студента першого курсу... якогось дпі чи кпі".

Я по цей час не знаючи плакати мені чи радіти від такої пахлави*. Я до іт-індуструї ніякого відношення не маю, і ніхто мене не навчав науково правильним алгоритмам та інженерно-архітектурному мистецтву.

Оті 16 рядків я написав сам, дійшовши до такого стилю (без switch case та if - як могли б написати новачки в програмуванні) самостійно.

І цим я (трішки) вихваляюсь  ;D.

Шкода, я ніколи не бачив живого програміста (мертвих також не бачив), нема з ким обговорити всякі питання.


---
*похвали

« Змінено: 2021-10-29 16:09:25 від gdekjifgb »

gdekjifgb

  • Гість
Re: Міні-задачка на/з програмування
« Відповідей #3 : 2021-10-29 16:08:29 »
... згенервувати .... в залежності від мови?
Попутно виникло питання (в неті іще не шукав відповіді): Чи існує в php якась стандартна фігня, за допомогою якої можна якось перемикати локаль і отримувати ДАТИ на рос укр франц нім та інших мовах?


Axmed

  • Гість
Re: Міні-задачка на/з програмування
« Відповідей #4 : 2021-10-30 03:32:53 »
<?php $h=["Mon"=>"url 1","Tue"=>"url 2","Wed"=>"url 3","Thu"=>"url 4","Fri"=>"url 5""Sat"=>"url 6","Sun"=>"url 7"];header("Location: ".$h[date("D")]) ?>
<?php $h=["url 1","url 2","url 3","url 4","url 5","url 6","url 7"];header("Location: ".$h[date("N")-1]) ?>
<?php header("Location: ".["url 1","url 2","url 3","url 4","url 5","url 6","url 7"][date("N")-1]) ?>

---
Зміна: Випр. "Sut" на "Sat"
« Змінено: 2021-10-30 21:53:38 від axmed »

gdekjifgb

  • Гість
Re: Міні-задачка на/з програмування
« Відповідей #5 : 2021-10-30 11:05:29 »
...
ооо, до такої плутанини ;%:) я б не додумався.
Що значить плутанина?: наприклад для розуміння що значить [date("N")-1] потрібно витратити кілька секунд (ну я не миттєво зрозумів що і до чого в такому коді).
А код пишеться, по-перше, для людей-прагромістів.

Цікаво чи в реальному проекті ви також використали б такий код (я про ваші три приклади).