<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Net i Ja &#187; Zend_Tool</title>
	<atom:link href="http://netija.pl/wpis/tag/zend_tool/feed" rel="self" type="application/rss+xml" />
	<link>http://netija.pl</link>
	<description>Blog pewnego studenta informatyki ;)</description>
	<lastBuildDate>Sun, 11 Mar 2012 13:10:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Dostęp do bazy danych w Bootstrap-erze&#8230; i można ;)</title>
		<link>http://netija.pl/wpis/46</link>
		<comments>http://netija.pl/wpis/46#comments</comments>
		<pubDate>Wed, 20 Jan 2010 00:15:38 +0000</pubDate>
		<dc:creator>Marek</dc:creator>
				<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[kod]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend_Bootstrap]]></category>
		<category><![CDATA[Zend_Db]]></category>
		<category><![CDATA[Zend_Tool]]></category>

		<guid isPermaLink="false">http://netija.pl/?p=46</guid>
		<description><![CDATA[Pisząc dziś projekt z Bezpieczeństwa Aplikacji Internetowych zatrzymał mnie na chwilkę pewien problem&#8230; Jak skorzystać z bazy danych już na poziomie bootstrapera? W domyślnie wygenerowanym projekcie za pomocą narzędzia Zend_Tool, czyli wpisujemy w konsoli tak: Oprócz fajnej struktury katalogów otrzymujemy plik konfiguracyjny naszego projektu w prezencie. Znajduje się on w .\application\configs\application.ini i wygladajakoś tak: Mając [...]]]></description>
			<content:encoded><![CDATA[<p>Pisząc dziś projekt z Bezpieczeństwa Aplikacji Internetowych zatrzymał mnie na chwilkę pewien problem&#8230;<br />
Jak skorzystać z bazy danych już na poziomie bootstrapera?</p>
<p>W domyślnie wygenerowanym projekcie za pomocą narzędzia Zend_Tool, czyli wpisujemy w konsoli tak:</p>
<pre class="brush: bash; title: ; notranslate">zf create project nazwa_projektu sciezka_projektu</pre>
<p>Oprócz fajnej struktury katalogów otrzymujemy plik konfiguracyjny naszego projektu w prezencie. Znajduje się on w .\application\configs\application.ini i wygladajakoś tak:</p>
<pre>
<pre class="brush: plain; title: ; notranslate">
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH &quot;/../library&quot;
bootstrap.path = APPLICATION_PATH &quot;/Bootstrap.php&quot;
bootstrap.class = &quot;Bootstrap&quot;
resources.frontController.controllerDirectory = APPLICATION_PATH &quot;/controllers&quot;

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
</pre>
<p>Mając taki ładny czysty projekt, każdy pewnie chce go wyposażyć w dostęp do bazy danych. I tu czeka nas miła, bo ustawienie adaptera do naszej bazy jest banalnie prosta i polega tylko na dodaniu małej wstawki w plik konfiguracyjny widoczny powyżej.</p>
<pre class="brush: plain; title: ; notranslate">
...
resources.frontController.controllerDirectory = APPLICATION_PATH &quot;/controllers&quot;
resources.db.adapter = PDO_MYSQL
resources.db.params.host = adres_bazy
resources.db.params.username = nazwa_konta
resources.db.params.password = haslo_dostepu
resources.db.params.dbname = nazwa_tablicy_w_bazie
[staging : production]
...
</pre>
<p>Powyższa czynność gwarantuje nam, bezproblemowy dostęp do tak skonfigurowanej bazy przy pomocy wszystkich klas z rodziny Zend_Db, w całym projekcie za wyjątkiem bootstrapera (.\application\Bootstrap.php). I tu właśnie się okazało, że w niektórych przypadkach i tam ten dostęp by był przydatny. Aby go uzyskać wystarczy przed naszym kodem korzystającym z dostępu do bazy ustawić domyślny adapter bazy danych, a raczej powiedzieć Zendowi gdzie leży jego konfiguracja. Pomoże nam w tym poniższy kawałek kodu:</p>
<pre class="brush: php; title: ; notranslate">
...
$config = new Zend_Config_Ini('../application/configs/application.ini', 'production');
$db = Zend_Db::factory($config-&gt;resources-&gt;db);
Zend_Db_Table::setDefaultAdapter($db);
...
</pre>
<p>I można już odpytywać bazę danych i tu <img src='http://netija.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://netija.pl/wpis/46/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

