Вычисление TTH (Tiger tree hash)

Проверенные VDS на SSD в Европе от $4 и России: Датацентр №1 от 199руб

Тема в разделе "Вопросы по программированию на РНР", создана пользователем mount, 27 дек 2007.

  1. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    Я тоже слышал, но в PHP языке статического конструктора вроде еще не придумали. а при выполнении функции делать проверку в условии на больше или равенство версии мне кажется накладно.
    А тем более делать проверку на то что заведомо и так известно, ну скажем так что в 90% случаях у пользователей уже стоит 5,4 или выше а то может и 95%.
     
  2. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    Вы мне предлогаете залить скрипт на composer ?
     
  3. Adelf

    Adelf Laravel&PhpStorm Команда форума

    Сообщения:
    3.128
    Ваш город:
    Казань
    Address:
    Kazan, Russia
    Country:
    Location on Map:
    Необязательно заливать, но хотя бы в нужном стиле(PSR-0) оформлять класс не помешало бы.
    Че там накладно... одна проверка по числовой константе.
     
  4. WMix

    WMix герр M:)ller Партнер клуба

    Сообщения:
    5.961
    Ваш город:
    Berlin
    Address:
    Berlin, Germany
    Country:
    Location on Map:
    [​IMG]
     
    Adelf нравится это.
  5. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    4.131
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    http://php.net/version_compare
    PHP:
    if(version_compare(PHP_VERSION'5.4''<'))
    {
      
    // needs fix
    }
     
  6. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    Прочитал PHP вначале в этой функции заменяет все запятые точками, потом проставляет между знаками еще лишние точки, потом сортирует по алфавиту значения и если сравнимый операнд ниже то значение TRUE.
    Я например запускаю опредиление TTH для папки с 3000 файлами, я не вижу смысла выполнять фукнцию сравнения версий а не просто булевую проверку.
    .
    В добавок CMS Joomla уже не поддерживает PHP 5.3 и настоятельно рекомендует обновить старые версии CMS и PHP
    У меня сайтов с 10 позаражалось вирусами за одну неделю на 5,3. Я восстановил их из бэкапа, обновил версии PHP и уже 9 месяцев ни одного заражения.
    При том что сайты зараженные вирусами висят в списке вирусописателей как сайт через который надо рассылать спам. После восстановления они уже специально ломали мои сайты и не получилось.
    Вот на C# была плюшка, как статический конструктор. при первом вызове любой статической функции вначале вызывался конструктор и можно было определять в нем статические свойства.
    Жаль что тут такого же нет.
     
  7. Adelf

    Adelf Laravel&PhpStorm Команда форума

    Сообщения:
    3.128
    Ваш город:
    Казань
    Address:
    Kazan, Russia
    Country:
    Location on Map:
    Так сделай не статиком. Проблем то.
    Но судя по твоим некоторым репликам, нам бесполезно об этом беседовать.
     
  8. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    ОК сделаю не статиком.
    PSR-0
    Вы предлогаете добавить пространство имен и переименовать класс из TTH в Tth?
     
  9. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    Добавил пространство и проверку версии.
    У меня такое ощущение сложилось что те кто меня тут убеждал пользуются 5,3 версией
     
  10. Adelf

    Adelf Laravel&PhpStorm Команда форума

    Сообщения:
    3.128
    Ваш город:
    Казань
    Address:
    Kazan, Russia
    Country:
    Location on Map:
    Я пользуюсь седьмой. Вопрос в удобстве пользования твоим классом.
     
    Последнее редактирование: 27 апр 2016
  11. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    ну и я жду когда мой хостер через две недели добавит поддержку 7й.
    ни чего что согласно PSR-0 класс именован целиком из больших букв?
     
  12. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    Спасибо огромное, я давно хотел найти стандарт оформления PHP, но почему то ни кто об этом ни любит упоминать и использовать, наверно кроме тех кто учавствовал в принятии этих правил.
     
  13. Adelf

    Adelf Laravel&PhpStorm Команда форума

    Сообщения:
    3.128
    Ваш город:
    Казань
    Address:
    Kazan, Russia
    Country:
    Location on Map:
    Вообще, PSR-0 устаревший уже.
    http://www.php-fig.org/psr/ - тут свежак. Но на английском разумеется.

    Никто ничего не скрывает.
     
  14. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
  15. Adelf

    Adelf Laravel&PhpStorm Команда форума

    Сообщения:
    3.128
    Ваш город:
    Казань
    Address:
    Kazan, Russia
    Country:
    Location on Map:
    Тоже самое.

    Там в комментах:
    PSR-0 или PSR-4
    PSR-0 работает для пакетов, которые не используют неймспейсы
    PSR-4 работает только с неймспейсами + первый уровень должен быть вендор.
     
  16. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    4.131
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    [​IMG]
     
  17. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    Обновил репозиторий, теперь можно дополнительно вычислять хэш для всей папки и ее файлов.
    TTH всех файлов и хэш имен папок складывается в строку и вычисляется общий Tiger хэш.
    Особенность в том что если в папке появиться новая пустая подпапка то хэш не измениться.
     
  18. Adelf

    Adelf Laravel&PhpStorm Команда форума

    Сообщения:
    3.128
    Ваш город:
    Казань
    Address:
    Kazan, Russia
    Country:
    Location on Map:
    @koreshs, давай допустим, что мне понравился функционал этой библиотеки и я его хочу использовать в своем проекте. Как?
     
  19. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
  20. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    Я что то сделал не по
    PSR ?