технарь |
Отправлено: 28 января 2018 — 19:39 • Тема: Список основных функций ExBB • Форум: ExBB Community |
Ответов: 4 Просмотров: 1757
 |
Переменные и функции класса fm.class.phpvar $_RuLocale = TRUE; // Флаг русской локали boolean
var $LANG = array(); // Языковый массив array
var $_StartTime = 0; // Начало отсчета времени работы скрипта integer
var $_PageGziped = FALSE; // Флаг Gzip сжатия страницы boolean
var $_Nowtime = 0; // Текущее время integer
var $exbb = array(); // Массив конфигурации форума array
var $_Stats = array(); // Массив статистики форума array
// Умолчательный (для гостя) массив пользователя array
var $user = array('id' => 0, 'unread' => 0, 'status' => 'gu', 'last_visit' => 0, 'private' => array(),
'new_pm' => FALSE, 'timedif' => 0, 'visible' => FALSE, 'upload' => FALSE);
var $_Body = ''; // Атрибуты тега <body>
var $_Link = ''; // Вставка в заголовок страницы string
var $_NewEmail = ''; // Флаг нового сообщения в ЛС boolean
var $_Baner = ''; // Переменная для вывода банера string
var $_Counters = ''; // Переменная для вывода счетчиков string
var $_Title = ''; // Название странице в заголовке <title> string
var $_Keywords = '';
var $_Moderator = FALSE; // Флаг модератора boolean
var $_Moderators = array(); // Массив ID модераторов разделов форума array
var $_Modoutput = ''; // Строка перечисления модераторов разделов форума string
var $_OnlineIds = array(); // Массив ID пользователей в онлайн array
var $_OnlineGuest = 0; // Кол-во гостей в online integer
var $_Invisible = 0; // Кол-во скрытых в online integer
var $_Members = 0; // Кол-во зарегистрированых в online integer
var $_OnlineTotal = 0; // Кол-во зарегистрированых в online integer
var $_MembersOutput = ''; // Строка перечисления пользователей в online string
var $_FilePointers = array(); // Массив дескрипторов открытых файлов array
function _Advertising() // Загрузка файлов с кодом банеров и счетчиков
function _BOARDSTATS() // Получение данных статистики форума
function _SAVE_STATS($array) // Сохранение изменений в файле статистики
function _TotalTime() // получение общего времени работы скрипта
function _Microtime() // получение microtime
function _DateFormat($time) // формирование даты в формате 21 Декабря, 2006 - 20:03:17
function _JoinDate($time) //
function _Authorization() // проверка авторизованности пользователя
function _Locale() // установка локальных настроек форума для пользователя и гостя
function _CheckBannedIP() // проверка заблокированных IP адресов
function CheckUnread() // подсчет непрочитанных личных сообщений пользователя
function _LoadLang($current,$admin = FALSE) // Функция загрузки языковых файлов
function _LoadModuleLang($current, $admin = FALSE) // Функция загрузки языковых файлов для модулей
function _Read($filename,$newfile = TRUE) // читаем файл возвращаем массив
function _Read2Write(&$fp,$filename,$newfile = TRUE) // читает файл для возможной записи в него не закрывая файла
function _Write(&$fp,$arr) // запись в файл открытый функцией _Read2Write
function _FcloseAll() // закрывает все открытые файлы
function _Fclose($fp) // закрывает файл по дескриптору переданному в аргументе
function _WriteText($filename, $text) //
function _Checkuser($uid) // проверка есть файл с ID un
function _Getmember($uid) // возвращает инфо о пользователе с ID переданным в аргументе
function _WriteLog($action,$admin = 0) // запись в логи действий на форуме
function _Message($msg_title,$msg_text,$meta = '',$mode = 0) // функция вывода сообщений
function _EMessage($msg_text,$msg_title = 'MainMsg') // функция вывода сообщений с закрытием флокнутых файлов
function _IsSpider() // определение поискового паука
function _OnlineLog($where,$privateID,$show = false) // функция ведет учет on-line пользователей
function _GetModerators($where,$data) // накапливает список модераторов в $fm->_Moderators
function setsmiles($string) // замена кодов смайлов на изображения
function html_replace($string) // заменяет HTML сущности с учетом таблиц преобразований ENT_QUOTES
function url_text($matches) //
function spoiler($matches) //
function hide_text($matches) //
function youtube($matches) //
function rutube($matches) //
function vkvideo($matches) //
function formatpost($string, $html = FALSE, $smiles = TRUE, $findstring = '') //
function chunk_split($string, $num = 128, $delim = "\040") //
function bads_filter($string,$replace = 1) //
function _Mail() // Основная функция которая определяет как отправлять письма
function _SendMail($list) // функция отправки e-mail через sendmail сервера
function Upload($maxsize,$storagename,$destdir,$mode = 'image') // Основная функция определяющая загрузку файлов |
технарь |
Отправлено: 18 января 2018 — 08:16 • Тема: Ремонт блока питания ИВЭПР 112-2-2 • Форум: Ремонт электроники |
Ответов: 4 Просмотров: 2228
 |
Если замена конденсаторов не помогла - боюсь проще пустить на запчасти...
Померяйте напряжение сразу на выходе с диодного моста - должно быть в районе 300 вольт.
Ну и полевик VT1 проверьте. |
технарь |
Отправлено: 12 января 2018 — 09:17 • Тема: Отладка PHP-приложений с помощью PhpED IDE • Форум: Всё подряд |
Ответов: 0 Просмотров: 867
 |
В тот момент когда размер исходного кода PHP-приложения переваливает за несколько тысяч строк и на этапе тестирования в нем выявляются логические ошибки, то приходится прибегать к отладке.
Часто для этого используются конструкции и функции языка в разных сочетаниях:
code:echo, exit, var_dump(), print_r()
Для анализа работы скрипта они прописываются в контрольные точки и по выведенному результату анализируются значения переменных в этих точках. Если ошибка так и не была найдена, то отладочные команды помещаются в другое место. Очевидно, что это быстро утомляет. Специально для таких случаев в языках программирования применяется отладчик. Дебаггер позволяет остановить выполнение скрипта в определённой точке (поставить брейкпоинт или точку останова), просмотреть содержимое переменных в этот момент, при необходимости модифицировать значение переменных и запустить выполнение дальше.
В PHP нет встроенных средств отладки, но можно использовать внешние отладчики, подключаемые как отдельные расширения (например xdebug, DBG, Zend Debugger). В NuSphere PhpED используется расширение DBG, которое по совместительству является ещё и профайлером.
Отладчик в PhpED по праву именуется интерактивным. Он поддерживает отладку WEB-приложений по следующей схеме:- Запускаем отладчик.
- Переходим в интересующий нас участок кода и устанавливаем breakpoint.
- Открываем браузер.
- Запускаем скрипт используя адресную строку браузера или отправив данные через форму.
- Отладчик вываливается на установленной точке останова, пропустив весь код до нее.
Далее мы можем просматривать значение переменных и выражений, историю вызова функций и т. д.
В этой небольшой статье я расскажу как настроить отладку с ипользованием PhpED и OpenServer. Те моменты которые касаются настройки OpenServer могут быть применены к любому WEB-серверу из коробки (Denwer, XAMPP) или установленному на *nix-системе. Итак, если все умственные усилия обнаружить ошибку закончились безрезультатно и хождение по форумам с просьбой разобраться почему неправильно работает скрипт потерпели фиаско, то переходим к настройке дебаггера.
Инструкция приведена для актуальных (последних) версий программ на момент написания статьи:- Microsoft Windows 7 SP1 x64 (en)
- NuSphere PhpED Professional v7.0
- OpenServer v4.6.1 (PHP v5.3.16)
Настройка
Находим в каталоге с установленной IDE DLL-файл с именем «dbg-php-X.X.dll», где X.X версия поддерживаемого интерпретатора PHP, установленного на сервере. В моём случае это будет «dbg-php-5.3.dll». Библиотека должна находится в каталоге «%PROGRAMFILES%\NuSphere\PhpED\debugger\server\Windows\x86_VC9\», т. к. PHP v5.3.16 скомпилирован с поддержкой VC90 runtime.
Копируем его в каталог «%OpenServer%\modules\php\PHP-5.3.16\ext\», где %OpenServer% — директория с установленным OpenServer.
Редактируем php.ini. Открываем контекстное меню OpenServer в системном трее. Далее: Дополнительно > Конфигурация > PHP-5.3.16. Добавляем строку содержащую: extension=dbg-php-5.3.dll
Сохраняем и закрываем текстовый файл.
Перезапускаем сервер.
В любом скрипте делаем вызов phpinfo(). И убеждаемся, что на странице диагностики присутствует блок, посвященный библиотеке dbg-php-5.3.dll:
В настройках проекта (Project > Project Properties) указываем: Root directory — корневой каталог проекта на компьютере; Run mode — HTTP mode (3rd party WEB server); Root URL — URL проекта по которому он доступен. Сохраняем изменения.
Я предпочитаю не использовать глобальные настройки дебаггера в программе, поэтому в настройках отладчика проекта (вкладка Debugger) включаю использование специфических настроек отладки для проекта. И обычно снимаю флажок остановки на первой инструкции скрипта (Break on start). Как видно, там же можно указать на каких ошибках передавать управление отладчику.
Установив точку останова, а так же введя в строке браузера URL-проекта. И дополнив URL GET-параметром DBGSESSID со значением большим нуля (ID сессии), мы поймаем исключение. В дальнейшем до момента закрытия вкладки браузера этот параметр можно исключить, т. к. он будет сохранен в cookie.
httр://example.com/?DBGSESSID=1
В окне Locals видны значения всех локальных переменных.
Остановить отладку можно по хоткею Ctrl + F2.
Совет - не забываем включить отображение всех ошибок (E_ALL). В скрипте (не сработает при синтаксических ошибках): error_reporting(E_ALL);
Или в .htaccess: php_flag display_errors 1
Исходник статьи смотрим здесь. |
технарь |
Отправлено: 7 января 2018 — 19:34 • Тема: Новости дня • Форум: Всё подряд |
Ответов: 272 Просмотров: 71158
 |
Климат в целом потеплел - это факт.
Держитесь, не раскисайте.  |
технарь |
Отправлено: 1 января 2018 — 06:46 • Тема: Новости дня • Форум: Всё подряд |
Ответов: 272 Просмотров: 71158
 |
Спасибо! Вам то же добра и благополучия! И главное - здоровья богатырского!  |
технарь |
Отправлено: 31 декабря 2017 — 18:06 • Тема: Ссылки на запчасти для бытовой техники • Форум: Сделай сам |
Ответов: 1 Просмотров: 2578
 |
Вот засада - через три часа новый год, а у меня стиралка сдохла. Полетел ремень.
Хорошо, что я ссылки сохранил - нашел новый ремень и уже заказал.  |
|