Тема: непонятки с кодом
поставил на локалхост punbb 1.3
потыкал, больше понравилось, чем нет
решил поглядеть код, только начал
собственно, все нопонятки буду выкладывать сюда
index.php, с самого начала:
<?php
/**
* Displays a list of the categories/forums that the current user can see, along with some statistics.
*
* @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
* @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
* @package PunBB
*/
if (!defined('FORUM_ROOT'))
define('FORUM_ROOT', './');смысл данной конструкции? ![]()
я не говорю, что какой-то несчастный if хоть как-то повлияет на производительность, но все же? или есть какой-то тайный баг, о котором я не слышал?
Добавлено спустя 6 минут 38 секунд:
functions.php
// If a database connection was established (before this error) we close it
if (isset($GLOBALS['forum_db']))
$GLOBALS['forum_db']->close();
exit;ЗЫ: я не критикую ни кого, просто чистый интерес - почему так сделали, люди же не дилетанты, значит, есть в этом какая-то суть
Добавлено спустя 25 минут 34 секунды:
essentials.php
// Attempt to load the configuration file config.php
if (file_exists(FORUM_ROOT.'config.php'))
include FORUM_ROOT.'config.php';
// If we have the 1.2 constant defined, define the proper 1.3 constant so we don't get
// an incorrect "need to install" message
if (defined('PUN'))
define('FORUM', 1);
if (!defined('FORUM'))
error('The file \'config.php\' doesn\'t exist or is corrupt. Please run <a href="'.FORUM_ROOT.'admin/install.php">install.php</a> to install PunBB first.');Добавлено спустя 28 минут 51 секунду:
народ, что такое что такое prefetch requests?
// Block prefetch requests
if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch')
{
header('HTTP/1.1 403 Prefetching Forbidden');
// Send no-cache headers
header('Expires: Thu, 21 Jul 1977 07:30:00 GMT'); // When yours truly first set eyes on this world! :)
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache'); // For HTTP/1.0 compability
exit;
}Добавлено спустя 29 минут 44 секунды:
почему тут?
тот же файл...
// Record the start time (will be used to calculate the generation time for the page)
list($usec, $sec) = explode(' ', microtime());
$forum_start = ((float)$usec + (float)$sec);Добавлено спустя 32 минуты 18 секунд:
подобное, в отличие от первого куска кода, объяснить можно... но все равно, жесть какая-то
// If the cache directory is not specified, we use the default setting
if (!defined('FORUM_CACHE_DIR'))
define('FORUM_CACHE_DIR', FORUM_ROOT.'cache/');Добавлено спустя 35 минут 5 секунд:
вообще весело, под какие задачи?
пожалуй, дальше подобного постить не буду, иначе очень много всего выйдет
// If a cookie name is not specified in config.php, we use the default (forum_cookie)
if (empty($cookie_name))
$cookie_name = 'forum_cookie';Добавлено спустя 48 минут 44 секунды:
в общем, на сегодня исследования закончим
ничего серьезного пока найдено не было, искрене надеюсь, что и не будет ![]()
мне не очень понравилась оптимизация кода не под производительность, а под программистов: программисту раз-два-десяток-пусть даже сотню раз его править, а выполняться он будет о-го-го сколько раз... к тому же, как я понял, разработчики расчитывают на сторонных чуваков и их доработки, раз такие примитивные и необходимые вещи, как bb-панель, капча или голосование в базовой версии реализованы не были... а сам код, конечно, крайне приятный;
совершенно не понравилось наличие утф-8, если я когда-либо и стану использоваться punbb 1.3, все, что касается утф-8 снесу своими руками, просто не вижу смысла в такой грандиозной унификации, нормально настроенные локальные параметры сервера все решают;
а в остальном, свежая версия порадовала ![]()