Jak nastavit maxQueries v ConnectionPanel?

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

Potřeboval bych změnit výchozí hodnotu:

/** @var int */
class ConnectionPanel extends Nette\Object implements Tracy\IBarPanel
{
	/** @var int */
	public $maxQueries = 100;

nejlépe v config.neon
Tracy vypisuje prvních 100 dotazů a místy jich mám víc.

Editoval newbie (8. 1. 2015 14:18)

trejjam
Backer | 65
+
+1
-

Když je public můžeš ji s klidným svědomím přepsat zvenčí

/**
 * @var Nette\Database\Diagnostics\ConnectionPanel @inject
 */
public $connectionPanel;

function updateMaxQueries($max=200) {
	$this->connectionPanel->maxQueries=$max;
}

Případně ji podědit a zaregistrovat místo ConnectionPanel (v neonu) ← což by se mi zamlouvalo víc.

Ale osobně bych se spíše zamyslel nad tím proč pokládáš tolik dotazů, nejde to nějak optimalizovat?

newbie
Člen | 31
+
0
-

Nette 2.2.7

	/**
	 * @var Nette\Bridges\DatabaseTracy\ConnectionPanel @inject
	 */
	public $connectionPanel;

	function updateMaxQueries($max = 200)
	{
		$this->connectionPanel->maxQueries = $max;
	}

Nejdřív řvalo že mu chybí Nette\Bridges\DatabaseTracy\ConnectionPanel v services. Po nahození do services jsem nevěděl kde volat updateMaxQueries(). V BasePresenteru bylo asi pozdě.

No ale vyřešeno pomocí podědění a přidání do configu:

nette:
	debugger:
		bar:
			- myProject\ConnectionPanel2
services:
	- myProject\ConnectionPanel2
<?
namespace myProject;

use Nette\Bridges\DatabaseTracy\ConnectionPanel;

class ConnectionPanel2 extends ConnectionPanel{

	public $maxQueries = 600;

}

Je to mnoho dotazů, většinou ale v administrační části kde mě to dvakrát netíží. Děkuji za navedení.

Editoval newbie (8. 1. 2015 16:25)