отладка

Boozenok Пнд, 12/10/2015 - 18:44

[РЕШЕНО]Ребята, помогите отладить два куска кода

Ребят, помогите привести код к стандарту, получаю ошибку (Strict warning: Only variables should be passed by reference) в двух кусках кода:

                case 'user_login':
                        $form['#prefix'] = '<div class="login_form"><div class="head_title">'.t('Login:').'</div>';
                        $form['#suffix'] = '</div><div class="register_form"><div class="head_title">'.t('Registration:').'</div>'.drupal_render(drupal_get_form('user_register_form')).'</div>';
                        $links = _ajax_register_ajax_links(array('password'));
                        $form['submit']['#prefix'] = $links[0];
                        $form['actions']['submit']['#value'] = t('Sign in');
                break;

и вот здесь еще

        if(count(end($items)) < 6 && count(end($items)) != 0){
                $photo_end = str_replace('<span>', '<span class="end">', end(end($items)));
Тип материала: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

roman-yrv Вс, 30/09/2012 - 05:26

Список выполняющихся хуков

Добрый день.

Скажите пожалуйста, можно ли каким-либо образом просматривать список выполнившихся в течение какого-то времени (или выполняющихся сейчас) хуков ?
Чтобы можно было просмотреть их названия, пути и т.д.

Тип материала: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

chel Пт, 06/05/2011 - 17:00

Создания своего кода [впечатления]

Создание темы навеяно мыслью о собственном коде.
Читая код своих модулей и сравнивая с кодом системных модулей, не смог не заметить, что я умещаю в одной двух функциях весь алгоритм модуля (к примеру если он не маленький).
А вот читая код модулей друпала наоборот замечаю: в каждой функции по 2-5 строчек кода, и много маленьких функций объединяющих общий алгоритм работы модуля.

Решил попробовать разбивать код по функциям на более мелкие составные части. (а не писать весь код в "одной" функции)

И о чудо: (раньше после написания модуля, как правило с первого раза он не запускался, да да, приходилось смотреть почему то или иное не работает)
А теперь работаю по новому принципу замечаю, что код работает с первого раза, и даже дебагить не приходится.
А удобство маленьких функций позволяет многие из них тестировать чуть ли не автономно каждую 1-2 зависимые функции.

Выводы сделал для себя: Пока не привычно, ощущение что думать приходится больше. Но результат: код работает сразу, хоть и кажется что дольше писать приходится и больше думать, но в результате меньше уходит время на написание, меньше или нет вообще багов.
Еще немаловажным плюсом думаю чаще оставлять Коментарии к функциям, т.к. если через неделю захожу в свой код, в котором многое что забыл что и где делает, то комментарии позволяют быстрее и прозрачнее понимать что и где я делал.

0 Спасибо

Bochagov Ср, 24/11/2010 - 16:07

Отладка

Всем привет!

По данной теме поискал ответы на форуме, но так ничего толком и не нашёл, поэтому прошу направить в нужном направлении.

Разбираюсь с Drupal и пишу пробный модуль.

Установка модуля: файл module.install
Хочу сделать, чтобы при установки модуля, автоматически создавался новый пользователь.
Почитал книжку, статьи - алгоритм реализации ясен, начал писать код и ...

Вот тут и встал. Никакого отладочного механизма.
Я даже и не могу толком понять, запускается моя функция или нет.
Создал файл в папке с модулем - название_модуля.install
в нём объявил функцию

название_модуля_install(){}

Для начала хотелось бы вообще увидеть отклик это функции, т.е. использовать какой-нибудь отладчик

Поискал на форуме решения. Из того что нашёл:
1. drupal_set_message('Install function!');
никакой реакции...
2. watchdog() - пишет в логи. Но к сожалению документация по данной функции оставляет желать лучшего - вот она
И где расположен этот файл?

3. Написал свою функцию записи в лог. (тут оговорюсь, с php столкнулся лишь недавно)
тестировал на "не Drupal" сайте, т.е. просто запускал скрипт - всё работает. Скопировал функцию в файл module.install - никакой реакции. Что опять наводит на мысли, что drupal туда и не заходит, но сказать наверняка опять же нельзя... в общем я запутался... помогите!

Вот функция записи:

<?php
function my_print($string)
{    
    
$fp fopen('c:\\debug.txt''a');    
    
fwrite($fp,"\r\n");
    
fwrite($fp$string);
    
fclose($fp);
}
?>
Тип материала: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

Tisar Сб, 02/10/2010 - 19:10

Отладка модулей. NetBeans + Drupal

Здравствуйте, подскажите пожалуйста как можно использовать NetBeans для отладки модулей? Как произвести отладку файлов не php, а файла модулей.
Запускал отладку всего Drupal с index.php, но во время отладки он проходит по огромному количеству функций Drupala, несколько раз пробовал таким образом добраться до кода модуля, но к сожалению всё заканчивалось потерей времени и непонятками когда происходила всё же обработка модуля.

Ключевые слова: 
0 Спасибо

olk Втр, 13/04/2010 - 12:49

Маленькие хитрости. Отладка кода.

Для пишущей (и начинающей писать) братии под Друпал - расскажу о маленькой хитрости, которую я использую для отладки кода при написании модулей и функций темизации.
Вообще-то это известный «велосипед», но может кому нибудь из начинающих поможет.
Я не люблю использовать модуль devel из за его тяжести, поэтому использую
простенькую функцию помещенную мной в файл settings.php

Функция

/**
 * @param
 *      $msg - то что хотим показать, переменная , массив, объект
 *      $title - опционально, метка
 *      $pre   - обрамлять тэшгами <pre> - полезно для показа массивов и объектов
 *      $out   - если TRUE, выводить через drupal_set_message, иначе вернуть информацию
 */

function dbg($msg, $title = '', $pre = TRUE, $out = TRUE) {
global $user;
// выводим только для админа, в принципе можете изменить uid на другой,
// что бы выводилось под вашим экаунтом;
 if ($user->uid == 1) {
   if ($out) {
     $info = print_r($msg,1);
     if ($pre) {
       $info = '<pre>' . $info . '</pre>';
     }
     if (!empty($title)){
       $info = '<strong>' . $title . '</strong><br/>' . $info;
     }
   }
   if ($out) {
     drupal_set_message($info);  
   }
   else {
   return $info;
   }
  }
}

вот и все, теперь, чтобы посмотреть какую либо информацию, достаточно
в коде вставить нашу функцию

 dbg($value);

Оригинал заметки тут

Ключевые слова: 
Версия Drupal: 
0 Спасибо

natbampo Втр, 02/03/2010 - 07:19

отладка Drupal

Привет.
Поставил себе Drupal захотел посмотреть как что за чем в нем работает.
Открыл в php expert editor и запустил отладку. Тормозит отладка неимоверно, почти что виснет.
Может кто сталкивался, что настроить?

p.s. другие скрипты нормально дебажит.

Ключевые слова: 
Версия Drupal: 
0 Спасибо

fairwind Пт, 16/01/2009 - 07:19

про print_r

Может, кто еще не знает (я вот недавно случайно узнал), что есть такая функция - dprint_r. Определена в модуле devel, и хороша тем, что читаемо выводит массивы и объекты. Отлично подходит для операций типа drupal_set_message(dprint_r($node,true));

Ключевые слова: 
Версия Drupal: 
0 Спасибо

horizon17 Сб, 22/11/2008 - 16:04

Как в друпал делать трассировку?

Замучался совсем с этим друпалом!!!
Невозможно проследить что откуда вызывается!
Мой отладчик phpED не видит дальше index.
Как отлаживать drupal по нормальному?
Хочу расставить точки останова, и прослеживать весь код!

Ведь немогу же я в каждый файл понатыкать print_r()...

Поставил drupalforfirebug, он на обычном book выдает только
$form->fivestar_form_node_296
$form->search_block_form
и все, непонятно где вызовы функциий node и book ?

Существует возможность пройтись по всему коду, построчно?

Ключевые слова: 
0 Спасибо

kaaz Чт, 21/08/2008 - 15:09

Как вы ведете отладку?

Как в друпал средствами API или другими способами вести отладку?
Например по ходу выполнения функции выводить отладочную информацию, либо на экран, либо в файл, либо еще в какой нибудь поток.
Скажем, есть функция, которая перенаправляет весь вывод в файл, такая существует в Drupal?

Ключевые слова: 
Версия Drupal: 
0 Спасибо

oblivion Вс, 03/08/2008 - 08:11

Firebug Lite 1.2

Вышла новая lite-версия Firebug — лучшего отладчика CSS и ява-скриптов. Теперь можно и в Oper-у и в ИЕ подключать.

Ключевые слова: 
0 Спасибо

VladSavitsky Чт, 14/02/2008 - 11:33

Перевод Project issue tracking: Проблемный модуль.

Модуль очень качественный и многое умеет делать хорошо. А именно он помогает модулю Project отслеживать ошибки/предложения и прочее при развитии проектов. Этот модуль используется на drupal.org, а это значит повышенные требования к качеству.
Мне он понадобился, когда я подумал, что проектом может быть не только модуль для друпала...
А вот перевода не нашёл - сделал полный перевод и вроде бы довольно качественный.

Страница модуля: Project issue tracking
Версия: 5.x-1.3
Перевод на drupal.org: http://drupal.org/node/221640

Версия Drupal: 
0 Спасибо

zuminho Сб, 09/02/2008 - 09:13

Модуль Comment, как запретить пользователям ОТВЕЧАТЬ на комменты

Здравствуйте, прошу помощи в, наверное, необычном вопросе: нужно запретить в комментариях возможность отвечать всем пользователям, т.е. нужна структура упрощенная - Добавить комментарий, и все.. никаких возможностей отвечать и изменять, вероятно нужно изменить сам код модуля, буду признателен всем кто знает решение проблемы....

0 Спасибо

Viacheslav Пнд, 28/01/2008 - 11:59

Модуль для отладки: генерации контента, регистрация пользователей и т.п.

Взялся за освоение Drupal. По-моему где-то наблюдал модуль для разработчиков, который в целях отладки может создать виртуальных пользователей в системе, сгенерировать некоторый контент вида: «lorem ipsum dolor sit amet». Или мне всё это приснилось?

Ключевые слова: 
Версия Drupal: 
0 Спасибо