Forumlar / National / Russian / Идеи / Просто несколько мыслей вслух

Kopusha
#1 2024-02-23 09:39

Особенно будет полезно новичкам, осваивающим движек
Покажу кусочек кода и потом напишу что про него думаю

PHP
1
2
3
4
5
6
7
8
if (!in_array($usr['id'], $cfg['admin_user_ids']) && !in_array($usr['id'], $cfg['test_user_ids']) && !in_array($usr['id'], $cfg['moder_user_ids']))
{
    $isadmin = 0;
}
else
{
    $isadmin = 1;
}

Тут в режиме проверки id юзера вычисляют права доступа к некой функциональности
Очевидно где то есть $cfg['test_user_ids'] = array(63,4); и тд

Далее это используют так

PHP
1
2
3
4
if (!$isadmin)
{
    cot_die_message(404);
}

То есть если ты не в списке тестеров админов модераторов - cot_die_message

или так

PHP
1
2
3
4
5
6
7
8
if (!$isadmin)
{
    $wide = cot_import('wide', 'G', 'ALP');
}
else
{
    $accuracy = cot_import('accuracy', 'G', 'ALP');
}

То есть если ты не в списке тестеров админов модераторов - получи wide а иначе accuracy

 

А затем такой кусочек

PHP
1
2
3
4
5
6
$where = array();
$users_in_blocked = array();
$users_in_blocked = cot_blocked_all_blockedme((int)$usr['id']);//array (32,4,900);
//no check if (!$isadmin)
//admins (real admins) can not be blocked, but if a tester or moderator is blocked ($cfg['test_user_ids']) he can not see stories
$where_condition = "AND item_userid NOT IN (".$users_in_blocked.")";

или такой

PHP
1
2
3
4
5
6
//no check if (!$isadmin) use if (!$usr['isadmin']) instead
//admins (real admins) can see hidden, but if a tester or moderator is blocked ($cfg['test_user_ids']) he can not see stories only 4 friends
if (!$usr['isadmin'])
{
    $where_friends = "AND (s.item_only_friends=0 OR s.item_userid=".$usr['id']." OR s.item_userid IN (".implode(',', $friends_ids)."))";
}

Тут используется if (!$usr['isadmin']) вместо if (!$isadmin) - потому что это не надо видеть модерам и тестерам

Что я всем этим хотел сказать - пишите комментарии к коду. Особенно если это что то не очевидное и вдруг в коде что то внезапно делается по другому. Не только другие люди скажут вам спасибо, вы сами, вернувшись к коду через год будете рады. Не жалейке строчек.

vpktz
#2 2024-02-23 17:29

Именно такой уровень документации крайне не хватает, именно это я и хотел что бы было.

Вот была бы версия cotonti с полными комментариями ко всем переменным, циклам, условиям и тд.

Получилось бы изумительная книга - МАНУАЛ с большой буквы.

 

И не так что редкие  комментарии к каким то огромным блокам или страницам а подробно, к  каждой строке, условию, циклу каждой страницы  и тд...

 

Kopusha
#3 2024-02-23 20:59

Дружище - это написанное на заказ, где 10 раз продуманный каждый нюанс и это стоит стоит больших денег.

Added 21 minutes later:

Я скорее имел в виду - особенно начинающие - пишите доки. У меня для проекта любого доков больше чем кода иногда.

 

Bu gönderi Kopusha tarafından düzenlendi (2024-02-23 21:20, 1 yıllar önce)