DebugToolbar Расширение

да мне без разницы, хоть на тройственную.

я же вроде как и написал на странице гуглокода - лицензия отсутствует как понятие - каждый волен делать все что заблагорассудится пока не надоест.

По сути, не вижу смысла лицензировать что-то что может повторить любой более-менее способный программист. Переписать с нуля этот тулбар (разобравшись с существующим - 4 часа), чтобы было не похоже - назвать его WebAssistant и все - пойди докопайся до истины…

я-то знаю - первый раз с тулбаром я встретился в симфонии, но, честно говоря, писать с нуля для yii было лениво. Когда попался тулбар для yii я его ковырнул как мне удобнее было, увлекся и понял - надо переписать и переписал, при этом опираясь на чужие идеи и чужой код… завтра его перепишет кто-нибудь другой, чтобы было удобно ему - в результате будет другой тулбар на основе существующего ну да и ладно. Через год кто-то серьезно подойдет к этому вопросу и создаст коммерческий тулбар на который будет тратить много личного времени и хотеть получить материальную отдачу  - ну и что? да бога ради. так зачем лицензия? но это сугубо мое имхо, как известно для каждого на вкус и цвет фломастеры разные…

Тоже обожаю это выражение про фломастеры - так один мой друг любил выражаться и я с ним совершенно согласен :)

По большому счету Вы - правы. Просто на Гуглокоде же не написано на инглише об этом, а людей очень много, многие из них будут ориентироваться на надпись о лицензии (которая справа вверху)… Но я не сильно навязываю ;)

напишите что распостраняется по MIT лицензии на крайняк и все поймут что могут делать все что угодно с кодом)

Поставил MIT - буду надеятся, буржуям легче теперь станет :)

или надо было не MIT ставить?

честно говоря никогда сильно не заморачивался по поводу лицензий :) хотя, лет 10 назад честно пытался прочитать GPL… раз несколько. но, видимо, она-то меня и доконала - если в соглашении больше 1 страницы - засыпаю. Помнится договор по КАСКО читал неделю с перерывами на перекур, сон, еду и работу, и все равно уверен - где-то меня наверняка облапошили :)

жуткое это дело правовая основа. :)

В МИТ - ты даешь право всем редактировать и изменять твой код как хотят, все могут его продавать/распостранять/перепрадовать и вобще делать с кодом всё что хотят. единственное условие - копирайты автора в коде не должны быть удалены.

у меня что-то не заработало…отписал в трекере… ???

Quote

у меня что-то не заработало...отписал в трекере.... ???

Странно ругается… У себя уже проверил на двух проектах после перехода на Yii 1.0.5 - всё работает.

У тебя сессии нормально работают?

И ещё - попробуй у себя локально сделать вот так: замени в XWebDebugRouter.php на примерно строках 326-346 с такого кода:



public static function sessionAsArray()


{


	if (isset($_SESSION))


	{


		$phpSession = array();


		$sessKeyLen = null;


		foreach ($_SESSION as $key=>$value)


		{


			if (is_null($sessKeyLen))


			{


				$values['PHP']['Key'] = substr($key, 1, strpos($key, '_')-1);


				$sessKeyLen = strlen($values['PHP']['Key'])+2;


			}


			$phpSession[substr($key, $sessKeyLen)] = $value;


		}


		$values['PHP']['Data'] = $phpSession;


	}


	if (isset($_COOKIE)) $values['Cookie'] = $_COOKIE;


	$values['Yii'] = Yii::app()->session;


	return $values;


}


на такой:



public static function sessionAsArray()


{


	if (isset($_SESSION))


	{


		$phpSession = array();


		$sessKeyLen = null;


		foreach ($_SESSION as $key=>$value)


		{


			if (is_null($sessKeyLen))


			{


				$values['PHP']['Key'] = substr($key, 1, strpos($key, '_')-1);


				$sessKeyLen = strlen($values['PHP']['Key'])+2;


			}


			$phpSession[substr($key, $sessKeyLen)] = $value;


		}


		$values['PHP']['Data'] = $phpSession;


		if (isset($_COOKIE)) $values['Cookie'] = $_COOKIE;


		$values['Yii'] = Yii::app()->session;


		return $values;


	}


	else {


		return false;


	}


}


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

а так заработало…получил вот такую картинку (во вложении)

Ахтунг!

в гуглкоде на странице хаутоюс (http://code.google.com/p/yiidebugtb/wiki/HowToUse)

в русском варианте

// autoloading model and component classes


  'import'=>array(


    'application.models.`*`',


    'application.components.`*`',


    'application.extensions.yiidebugtb.`*`', // наша строка


  ),

звёздочки убраны в апострофы!

Скопировал строку оттуда и потом долго тупил на ошибки. Подправить бы.

Спасибо за внимательность! Исправил.

В связи с  выходом версии 1.0.6. появилась возможность 'Profiling SQL Executions'. Было бы здорово, если бы кто-нибудь прикрутил ее к расширению.

Попробую прикрутить.

Нашёл неприятность при использовании с PHP 5.3. split считается в этой версии deprecated. Исправляется заменой на explode().

Quote

Нашёл неприятность при использовании с PHP 5.3. split считается в этой версии deprecated. Исправляется заменой на explode().

Странно. У них же разный подход…

Заглянул в доку для освежения памяти: нифига — рекомендуется preg_split(), а для случаев, когда регулярные выражения не нужны — тогда уже рекомендуется использовать explode(), как более быстрый.

Тут как раз второй вариант.

классная штука! прикрутил себе :)

Yii Версия 1.0.9. Плагин забирал из репозитория google.

Положил все куда сказано, прописал все по инструкции, а не работает =(

Вот такую ошибку выдает…




session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at H:\home\yii.lo\www\framework\web\CController.php:654)

Source File


H:\home\yii.lo\www\framework\web\CHttpSession.php(102)



Пробовал заменять функцию sessionAsArray() как здесь выше описано было, не помогло =(

Есть идеи?

Попробуй "поиграть" с


die('<pre>' . print_r(debug_backtrace(), true) . '</pre>');

в коде yiidebugtb. Посмотри, что именно вызывается раньше него, что отдает хэдеры и т.п. раньше сессии.

чудно, с 1.0.9 работет, с 1.1 работает…

использую php-5.2.9-1 win32.

замечательно, спасибо за портирование :)

как раз юзал кодигниторскую версию