Debug bar (1.0-dev) + dibi profiler jak zapnout?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
sodae
Nette Evangelist | 250
+
0
-

Ahojte, nějak jsem nenašel jak zprovoznit dibi profiler a debug bar do sebe. Viz video

Honza Marek
Člen | 1664
+
0
-

Pořídit si novou verzi dibi?

LM
Člen | 206
+
0
-

Stačí zapnout profiler v dibi, akorát nejede pod verzí pro PHP 5.3 bo tady chybí namespace u is_callable.

sodae
Nette Evangelist | 250
+
0
-

jj, mam tu nejnovější, po kontrole jsem zjistil, že jsem nezměnil repo od dibi.

dotTwelve
Člen | 167
+
0
-

Jak zapnu samotny DebugBar?

Lopata
Člen | 139
+
0
-

Nedávno jsem to také řešil. Stačí do config.ini přidat dibi.profiler = true;

dotTwelve
Člen | 167
+
0
-

Lopata napsal(a):

Nedávno jsem to také řešil. Stačí do config.ini přidat dibi.profiler = true;

Tak zapnul sem profiler pomoci:

<?php
Debug::enable(Debug::DEVELOPMENT);
?>

ale zobrazuje mi pouze cas nacteni stranky a vyuziti pameti. Jak mam zobrazit vyskakovaci okenka?

Editoval dotTwelve (8. 4. 2010 16:49)

Ondřej Mirtes
Člen | 1536
+
0
-

Kluci, jak zapnout featury Laděnky, ale vypnout DebugBar? Používám PHPUnit a nevidím v konzoli výsledky, protože se mi za něj vypíše celé HTML DebugBaru…

EDIT: Odpovím si sám, Debug::disableBar().

Editoval Ondřej Mirtes (8. 4. 2010 20:03)

Cifro
Člen | 245
+
0
-

Ondřej Mirtes napsal(a):

EDIT: Odpovím si sám, Debug::disableBar().

tomto commite z 3.4.2010 sa zrušila metóda disableBar() a nahradila sa premmennou $showBar, čiže:

Debug::$showBar = false|true

Editoval Cifro (8. 4. 2010 20:49)

David Grudl
Nette Core | 8142
+
0
-

Vypisování do konzole fixnu.

pekelnik
Člen | 462
+
0
-

Stačí do config.ini přidat dibi.profiler = true;…

jó to voni řikaj…

daleko spolehlivější je ale tohle:

<?php

$profiler = dibi::getProfiler();
$profiler->setFile(Environment::expand('%logsDir%/dibi.log'));
Debug::addPanel($profiler);

?>
Vyki
Člen | 388
+
0
-

Cifro napsal(a):

Debug::$showBar = false|true

Zapínám to stejně, našel jsem to, ale až ve zdrojácích, možná by bylo milé, když se něco změní, alespoň dát o tom vědět nebo udělat příklad, není to ojedinělá situace.

Honza Marek
Člen | 1664
+
0
-

Vyki napsal(a):

Cifro napsal(a):

Debug::$showBar = false|true

Zapínám to stejně, našel jsem to, ale až ve zdrojácích, možná by bylo milé, když se něco změní, alespoň dát o tom vědět nebo udělat příklad, není to ojedinělá situace.

DebugBar je nejvývojovitější věc ve vývojové verzi. Tam musíš počítat s tím, že se ti to může měnit pod rukama. Pokud chceš mít perfektní přehled, musíš sledovat commity na githubu.

Vyki
Člen | 388
+
0
-

Honza Marek napsal(a):
DebugBar je nejvývojovitější věc ve vývojové verzi. Tam musíš počítat s tím, že se ti to může měnit pod rukama. Pokud chceš mít perfektní přehled, musíš sledovat commity na githubu.

Také proto vím jak se to zapíná, chtěl jsem tím jenom naznačit, že by možná stálo za to informovat o tom i na fóru. Jasně, že by bylo opruz každou změnu psát na fórum, ale třeba na začátku napsat, jeké jsou cíle, možnosti, jak by to mohlo vypadat a pak třeba jak se to zapíná :o)

Editoval Vyki (9. 4. 2010 21:31)

SyXcz
Člen | 75
+
0
-

ach jo… ať zkoušim jakoukoli možnost kterou tady píšete, tak mi prostě dibi profiler nejede…
nechce mi někdo prosím prozradit aktuální funkční použití dibi profileru pro verzi 1.0 dev – PHP 5.2 (staženo minulý týden), aby se mi ukazoval v debug baru? dík

Editoval SyXcz (1. 5. 2010 0:46)

despiq
Člen | 320
+
0
-

nefnukej
stahnul si nove dibi?

SyXcz
Člen | 75
+
0
-

despiq napsal(a):

nefnukej
stahnul si nove dibi?

mam poslední stable… 1.2…
nebo to funguje jenom u 1.3 ??

Panda
Člen | 569
+
0
-

Hm, dibi stable bylo vydáno v září 2009, debug bar se do Nette dostal na začátku dubna 2010, tak co myslíš? :-)

Nejlepší je použít dibi z distribuce s Nette (je ve složce 3rdParty).

SyXcz
Člen | 75
+
0
-

nj máš recht… v distribuci Nette je dibi 1.3 dev… tak aspoň už vim proč mi to nejede :)

SyXcz
Člen | 75
+
0
-

stejně mi ty vaše příklady nejedou…
ale podařilo se mi ho zapnout pomocí:

<?php
$profiler = new DibiProfiler;
dibi::getConnection()->setProfiler($profiler);
?>

ale nepoužívejte pak <?php Debug::addPanel($profiler); ?> protože byste to tam měli dvakrát :)

despiq
Člen | 320
+
0
-

„proc delat veci jednoduse kdyz to jde slozite“

edke
Člen | 198
+
0
-

Prechadzam na PHP 5.3 a pri pouziti poslednych verzii Nette a dibi priamo z githubu ako submodules sa mi nezobrazuje DibiProfiler v Nette DebugBar-e.

Moje PHP ignoruje zakomentovane namespaces ako napriklad:
https://api.dibiphp.com/…ler.php.html#25
 https://api.dibiphp.com/…ler.php.html#55

Je na toto potrebne nieco specialne konfigurovat v php.ini ?

PHP 5.3.2–1ubuntu4.2
Nette 43d189dd72286705578a413b5fb4a564eba1290c
dibi 8dc164d19b9742b054c71dfa8985aaaa766e7b4f

Blizzy
Člen | 149
+
0
-

edke napsal(a):
Moje PHP ignoruje zakomentovane namespaces ako napriklad:
https://api.dibiphp.com/…ler.php.html#25
 https://api.dibiphp.com/…ler.php.html#55

Je na toto potrebne nieco specialne konfigurovat v php.ini ?

Myslím, že je potřeba to udělat ručně nebo nějakým vlastním makrem.

Patrik Votoček
Člen | 2221
+
0
-
  1. používej dibi, které je přibaleno v balíku nette
  2. nepoužívej minifikovanou verzi. Je u ní znám problém že neobsahuje namespace / obsahuje zakomentované namespace.
  3. pokud jedeš z GitHubu jak píšeš tak je to proto protože Nette má v Repu verzi pro PHP 5.3 a dibi verzi pro PHP 5.2

Není na to potřeba nic nastavovat musíš ty komentáře ručne odmazat. Nebo nepoužívat dibi jako submodul ale jako ládovat ho tam klasicky z balíku.

Dr.Diesel
Člen | 53
+
0
-

Omrknul jsem proc se v panel nezobrazuje prostym zapnutim profileru. Pro prefixovane PHP 5.2 Nette se panel nepripojuje kvuli overeni neprefixovane tridy Debug v kodu DibiProfiler.php:

	public function __construct(array $config)
	{
		if (class_exists(/*Nette\*/'Debug', FALSE) && is_callable(/*Nette\*/'Debug::addPanel')) {
			/*Nette\*/NDebug::addPanel($this);
		}
		...

ma byt

	public function __construct(array $config)
	{
		if (class_exists(/*Nette\*/'NDebug', FALSE) && is_callable(/*Nette\*/'NDebug::addPanel')) {
			/*Nette\*/NDebug::addPanel($this);
		}

Pak to slape jen nastavenim dibi v configu. Proverte pripadne, jestli se chyba v overeni class_exists() neprojevuje i jinde ?…

Upravil jsem jeste vyse uvedeny kod do bootstrapu od pekelnika na 1 radek bez definice promenny (pro prefixovanou verzi) ;-)

NDebug::addPanel(dibi::getProfiler()->setFile(NEnvironment::expand('%logDir%/dibi.log')));

Enjoy

Editoval Dr.Diesel (18. 8. 2010 16:33)

kravčo
Člen | 721
+
0
-

DibiProfiler sa mi podarilo zapnúť podstatne jednoduchšie, stačí v configu pri parametroch spojenia uviesť že chceme profiler (ten sa magicky sám nakonfiguruje a pridá do Debug baru):

config.ini

db.driver = mysqli
db.hostname = localhost
...
db.profiler = yes
whipster
Člen | 17
+
0
-

kravčo napsal(a):

DibiProfiler sa mi podarilo zapnúť podstatne jednoduchšie, stačí v configu pri parametroch spojenia uviesť že chceme profiler (ten sa magicky sám nakonfiguruje a pridá do Debug baru):

config.ini

db.driver = mysqli
db.hostname = localhost
...
db.profiler = yes

Toto mi jako jediné zafungovalo ( vývojová verze pro PHP3 s jmenými prostory + nejnovější dibi – samostatné )
Díky!!!

ras
Člen | 135
+
0
-

Ahoj vsem,

mam dibi 1.5RC (dnes stazene verze z GitHubu) a Nette Framework 2.0-dev (revision 8a602c8 released on 2011–04–04).

Zkousel jsem si precist vsechno mozne co po forech o Nette a Dibi ohledne dibi::profileru v DebugBare probehlo … ale nerozchodil jsem to:

config.neon

common:
  databaseInfo:
    database.driver = mysql
    database.lazy = TRUE
    database.charset = utf8
    database: db_neco

development < common:
  databaseInfo:
    host: localhost
    username: root
    password:
    profiler: true

Model.php

class Model extends Nette\Object
{
  static $db;

  static function init($dbConfig)
  {
    // Dibi
    self::$db = dibi::connect($dbConfig);
    //self::$db->setProfiler(); --> zkousel jsem, ale bez vysledku

Nejaky napad?

22
Člen | 1478
+
0
-

to maš přece nějaký divný ne? máš domotaný zápis z config.ini a neonu

common:
  databaseInfo:
    driver: mysql
    lazy: TRUE
    charset: utf8
    database: db_neco

development < common:
  databaseInfo:
    host: localhost
    username: root
    password:
    profiler: true
22
Člen | 1478
+
0
-

edit: a co je v proměnné $dbconfig nebo jak se plní?

ras
Člen | 135
+
0
-

Jak se plni $dbCongig ? … abych se priznal, jak to funguje nevim, vzal jsem to z prikladu ze skoleni od Davida. Faktem je, ze jsou tam obsazeny polozky z config.neon

Vyse uvedena kombinace ini a neon byla z pitomomyho copy&paste. Diky za upozorneni (ale je to i po oprave bez vlivu na Profiler v DebugBaru) … a config.neon ted vypada takto:

common:
  databaseInfo:
    driver = mysql
    lazy = TRUE
    charset = utf8
    database: db_neco

development < common:
  databaseInfo:
    host: localhost
    username: root
    password:
    profiler: true

a dump $dbConfig

Nette\Config\Config(7) {
   "host" => "localhost" (9)
   "username" => "root" (4)
   "profiler" => TRUE
   "driver" => "mysql" (5)
   "lazy" => TRUE
   "charset" => "utf8" (4)
   "database" => "db_neco" (21)
}

Takze $dbConfigem do neni …

22
Člen | 1478
+
0
-

a init() se volá v jaké chvíli? není to tím, že debugPanel je už vykreslený, když se připojujěš k databázi? Měl by jsi to inicializovat v bootstrapu, jestli se nepletu.

ras
Člen | 135
+
0
-

Ja to prvne prehledl → uz vim, kde vznika $dbConfig

bootstrap.php

$application->onStartup[] = function() use ($application) {
  Model::init(Environment::getConfig()->databaseInfo);
...

takze bych rekl, ze init probiha tam a tehdy kdy ma…

22
Člen | 1478
+
0
-

no tak tě můžu uklidnit, opravdu to nechodí..stahl jsem poslední verzi dibi z 21.4. a laděnka vyhodí chybu:
Access to undeclared static property: Nette\Diagnostics\Debugger::$bar

…něco se pokazilo asi.

Editoval 22 (22. 4. 2011 23:35)

ras
Člen | 135
+
0
-

Me Ladenka nic nehlasi a vse normalne funguje … tezko rici, jestli je to ta lepsi ci horsi varianta.
OK, smirim se s vypisem SQL dotazu jinak provadenym, skoda.

22
Člen | 1478
+
0
-

Tak jsem to rozchodil…stahni si posledni verzi Nette z GitHub a posledni verzi dibi..chodí to, jak má..

ras
Člen | 135
+
0
-

Zitra vyzkousim … a doufam, ze posledni verze Nette nebude prilis rozdilna od te co mam ja ;o)

Diky moc.

22
Člen | 1478
+
0
-

zjistíš tady https://github.com/…mmits/master, ale asi to souvisí se zrušením/nahrazením $showBar
mi to taky nejelo, i když config a připojení bylo nastavený správně..

22
Člen | 1478
+
0
-

co mysliš tím dev? použij 1.5rc, jak vidíš tak 1.3dev je z února..nebo ještě lépe si stáhni verzi z Githubu..