• Как мне правильно написать роутинг на slim?

    MaxxArts
    @MaxxArts
    ksimka
    GET запрос получит форму входа, POST залогинит. В форме соответственно должен быть method=post.

    $app = new \Slim\App();
    $app->get('/login', function ($request, $response, $args) {
    // login page
    });
    $app->post('/login', function ($request, $response, $args) {
    // do login, redirect to main page
    });
    Ответ написан
    Комментировать
  • Почему не работает код (php+wp dev)?

    MaxxArts
    @MaxxArts
    ksimka
    Прежде всего, непонятно, что такое $this у вас вне контекста класса. Но допустим это так устроены плагины в WP, не силен.

    Вы сохраняете значения в свойство объекта, который уничтожается после завершения скрипта. Затем при следующем запросе пытаетесь читать из только что созданного объекта с пустыми полями (хотя мне и кажется, что объекта там никакого нет, см. выше, ну да ладно). Состояние между запросами само по себе не сохраняется, нужно положить его в постоянное хранилище (MySql, наверное, в случае с WP, хотя и не обязательно).
    Ответ написан
    Комментировать
  • Медленный ли Symfony?

    MaxxArts
    @MaxxArts
    ksimka
    • Просто так ничего не бывает медленным или быстрым. Скорость измеряется в конкретных условиях.
    • Вопрос «а медленный или быстрый Х» должен ставиться только в том случае, когда производительность — единственный волнующий вас критерий (а так быть не должно).
    • Поиск «самого быстрого решения» — не лучший путь к решению задачи. Сформулируйте задачу, сформулируйте достаточные условия, при которых решение будет считаться приемлемым. Тогда можно будет попытаться подобрать действительно наиболее подходящий инструмент.
    Ответ написан
    Комментировать
  • Go. Как взять часовой пояс по IP?

    MaxxArts
    @MaxxArts
    ksimka
    https://github.com/oschwald/geoip2-golang — читает МаксМайндовские базы (GeoLite2, GeoIP2)

    (ахтунг, в примере опущена обработка ошибок)
    db, err := geoip2.Open("GeoIP2-City.mmdb")
        ip := net.ParseIP("81.2.69.142")
        record, err := db.City(ip)
        fmt.Printf("Russian country name: %v\n", record.Country.Names["ru"])
        fmt.Printf("Time zone: %v\n", record.Location.TimeZone)
    
        // Output:
        // Russian country name: Великобритания
        // Time zone: Europe/London


    www.devdungeon.com/content/ip-geolocation-go — пост про использование сторонних API для этой цели.
    Ответ написан
    Комментировать