За последние 24 часа нас посетили 34372 программиста и 1709 роботов. Сейчас ищут 803 программиста ...

Хочу критику

Тема в разделе "PHP для новичков", создана пользователем Alex_1984, 23 фев 2016.

  1. Alex_1984

    Alex_1984 Новичок

    С нами с:
    10 дек 2014
    Сообщения:
    133
    Симпатии:
    0
    Всем привет. Вот сделал типа форум, тут код его. покритикуйте.
    зы
    форум это конечно громко сказано, но разделы, темы и сообщения создаются ))
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    открывай =)
     
  3. Alex_1984

    Alex_1984 Новичок

    С нами с:
    10 дек 2014
    Сообщения:
    133
    Симпатии:
    0
    открыл ))
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    открыл каталог бин, не увидел там исполняемых файлов. закрыл. просмотрел глазами остальные каталоги - где-то класс содержит верхний регистр, где-то не содержит, где-то ундерскор встречается. каша. посмотрел пару файлов. зачем юзать неймспейс инпут для того чтоб потом постоянно относительно него использовать сешн? почему не заюзать сразу класс сешн? и такая хрень много где встречается. зачем тогда вообще юзать какой-то неймспейс? пиши всегда fqcn и не заморачивайся.
     
  5. Alex_1984

    Alex_1984 Новичок

    С нами с:
    10 дек 2014
    Сообщения:
    133
    Симпатии:
    0
    про бин, он уже очень давно так называется, я уже сам хз почему. а про неймспейсы, автолоад по другому не работает ))
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в каком файле у тебя считается сколько сообщений в каком форуме?
     
  7. Alex_1984

    Alex_1984 Новичок

    С нами с:
    10 дек 2014
    Сообщения:
    133
    Симпатии:
    0
    bin/blocks/forum_block
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    это каждый раз каунт вызывает заново. Не надо.

    Добавлено спустя 1 минуту 41 секунду:
    theme же https://slovari.yandex.ru/theme

    Добавлено спустя 1 минуту 55 секунд:
    Код (Text):
    1.                 $temes = $temes_mapper->getCountTemesBySectionId($sections[$j]->getProperty('id'));
    2.                 $temes_count[$j] = $temes->getProperty('count');
    3.                
    4.                 $last_temes[$j] = $temes_mapper->getLastTemeBySectonid($sections[$j]->getProperty('id'));
    5.                
    6.                 $t = $temes_mapper->getTemesBySectionId($sections[$j]->getProperty('id'));
    7.                 if(!is_array($t))
    8.                 {
    9.                     $t = [$t];
    10.                 }
    11.                
    12.                 $messages_count[$j] = 0;
    13.                
    14.                 for ($i = 0; $i < count($t); $i++)
    15.                 {
    16.                     $messages = $messages_mapper->getCountMessagesByTemeId($t[$i]->getProperty('id'));
    если тебе так часто нужно $t[$i]->getProperty('id') то не проще ли вынести его в паблик переменную $t[$i]->id просто. Будет и быстрее и удобнее. А то ведь вызов функции в пхп это далеко не бесплатное удовольствие. Даже пустой функции.

    Добавлено спустя 2 минуты 7 секунд:
    Итог: ты каждый раз заново пересчитываешь число сообщений =)

    Добавлено спустя 37 минут 58 секунд:
    А права у тебя как реализованы? Кто что может делать и не может.
     
  9. Alex_1984

    Alex_1984 Новичок

    С нами с:
    10 дек 2014
    Сообщения:
    133
    Симпатии:
    0
    про temes знаю, но когда вспомнил как правильно уже переделывать много было ))
    $t[$i]->getProperty('id') - ок, можно и вынести.
    права пока авторизован - не авторизован

    Код (PHP):
    1. if(!auth\auth::isAuth())
    2.         {
    3.             $message = messages_block\messages_block::create_block('app_config', 'messages_block');
    4.             $message->set_mess('alert-danger', '5');
    5.             render\render::setVar('message', $message->get('messages'));
    6.  
    7.             self::callStatic();
    8.             die;
    9.         }
    с правами то же самое только не isAuth будет, а isAdmin например

    Добавлено спустя 48 минут 49 секунд:
    в нижнем регистре старые классы, которые я переделаю обязательно... когда нибудь )) сейчас это не главная проблема
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    так, дружище. А в чем ты кодишь? Ибо в нормальной IDE это пара кликов.
     
  11. Alex_1984

    Alex_1984 Новичок

    С нами с:
    10 дек 2014
    Сообщения:
    133
    Симпатии:
    0
    NetBeans, нормальная?
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну да. Там просто переименовать надо через рефакторинг. Он сам прошарится по проекту, и переименует всё.
     
  13. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    твойсайт/forum/66
    и уже ловит фатал ^^
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    напильник достанет давида из куска мрамора