Mar 7 2009

Starting with Zend Framework – Configuration File and Database Connection

On the first article about the Zend Framework series, i have covered out the Setup of the Development Environment, on this article i will cover the Zend Framework configuration files and the database connection.

I will try to guide you on a brief and short path to start using the database in your Zend Framework project.

First Task – The configuration file

Our first task for today is to create the configurations file, i prefer to use php .ini files to save configuration settings, due to it’s clean and functional organization.

On your /public/config/ folder, create a file named configurations.ini with the following content.

[production]
database.adapter			=	pdo_mysql
database.params.host		=	localhost
database.params.username	=	root
database.params.password	=	xpto
database.params.dbname		=	restaurant
[development : production ]
database.params.host	=	127.0.0.1
database.params.username=	root
database.params.password=	ypto

I am defining my database settings to use PDO_Mysql driver and all the database needed settings, as you can see i am using two sections, the first one named [production] and the second one named [development:production] the : separation means that we are inheriting our development section from um previous production, and we will override some of the definitions. You can read more about this on the Zend Framework Config instructions.


Second Task: Load the configuration settings on your bootstrap file

Now that you have created the configuration file, you need to give some use tho it, lets go to the previously created bootstrap file, on your path /public/bootstrap.php, after the line that contains “Zend_Loader::registerAutoload();“, add the following content:

/**
 * Loading configuration from ini file
 */
$configuration = new Zend_Config_Ini(
    './config/configurations.ini', 
    'development'
);

We are reading the configuration file into a Zend_Config Object, to access the object you could by example do:

echo $config->database->params->host;

 

Third Task: Creating the database handler

Now that we have the configurations needed on a Zend_Config object we are ready to create the database connection. In order to do that, just after the previous code on bootstrap.php file, add the content.

/**
 * Creating the database handler from the loaded ini file
 */
$dbAdapter = Zend_Db::factory($configuration->database);
/**
 * Lets define the newly created handler as our default database handler
 */
Zend_Db_Table_Abstract::setDefaultAdapter($dbAdapter);
We are creating the database handler and defining the newly created database handler as the default for my front controller.

 Fourth Task: Using the Zend Registry to save the values

Now that we have our application using the database handler, and we are connected to the database, i will save the $configurations values and the $dbAdapter on the Registry for further usage.

/**
 * Lets add the configurations and the database handler to Registry
 * to use in future
 */
$registry = Zend_Registry::getInstance();
$registry->configuration = $configuration;
$registry->dbAdapter     = $dbAdapter;
/**
 * Now that we have the values on the Registry, lets cleanuo the variables
 * from the script scope
 */
unset($dbAdapter, $registry,$configuration);

You can read more about Zend Registry on the framework manual.

On this article, i have approached the Zend Config, Zend_Db and Zend_Registry usage, i are now able to deal with each one of this components, on my next article on this series, i will help you to create a Model extending the Zend_Db_Table.

13 comments on “Starting with Zend Framework – Configuration File and Database Connection

  1. Have you ever considered writing an e-book or guest authoring on other blogs? I’ve a weblog based on the same subjects you discuss and would adore to have you share some stories/information. I know my viewers would value your function. If you’re even remotely interested, feel totally free to shoot me an e-mail.

  2. Hi Jose, nice job , but we freshers in zend framework need some complete code to test and run, expect like that from you soon.

    Thanks
    Anes

  3. {
    {I have|I’ve} been {surfing|browsing} online more than {three|3|2|4} hours today, yet I never found any interesting
    article like yours. {It’s|It is} pretty worth enough for
    me. {In my opinion|Personally|In my view}, if all {webmasters|site owners|website
    owners|web owners} and bloggers made good content as you did, the {internet|net|web} will be {much more|a lot more} useful than ever before.|
    I {couldn’t|could not} {resist|refrain from} commenting.
    {Very well|Perfectly|Well|Exceptionally well} written!|
    {I will|I’ll} {right away|immediately} {take hold of|grab|clutch|grasp|seize|snatch} your {rss|rss feed} as I {can not|can’t} {in finding|find|to find} your {email|e-mail} subscription {link|hyperlink} or {newsletter|e-newsletter} service.

    Do {you have|you’ve} any? {Please|Kindly} {allow|permit|let} me
    {realize|recognize|understand|recognise|know} {so that|in order
    that} I {may just|may|could} subscribe. Thanks.|
    {It is|It’s} {appropriate|perfect|the best} time to make some plans for the future and {it is|it’s} time to be happy.
    {I have|I’ve} read this post and if I could I {want to|wish to|desire to} suggest you {few|some} interesting things or {advice|suggestions|tips}.
    {Perhaps|Maybe} you {could|can} write next articles
    referring to this article. I {want to|wish to|desire to} read
    {more|even more} things about it!|
    {It is|It’s} {appropriate|perfect|the best} time to make {a
    few|some} plans for {the future|the longer term|the
    long run} and {it is|it’s} time to be happy. {I have|I’ve} {read|learn} this {post|submit|publish|put up} and if I {may just|may|could} I {want to|wish to|desire to}
    {suggest|recommend|counsel} you {few|some} {interesting|fascinating|attention-grabbing} {things|issues}
    or {advice|suggestions|tips}. {Perhaps|Maybe} you
    {could|can} write {next|subsequent} articles {relating to|referring to|regarding} this
    article. I {want to|wish to|desire to} {read|learn} {more|even more} {things|issues} {approximately|about}
    it!|
    {I have|I’ve} been {surfing|browsing} {online|on-line} {more than|greater than} {three|3} hours {these days|nowadays|today|lately|as of late},
    {yet|but} I {never|by no means} {found|discovered} any {interesting|fascinating|attention-grabbing} article like yours.
    {It’s|It is} {lovely|pretty|beautiful} {worth|value|price} {enough|sufficient} for me.
    {In my opinion|Personally|In my view}, if all {webmasters|site owners|website owners|web owners} and bloggers made {just right|good|excellent} {content|content material} as {you
    did|you probably did}, the {internet|net|web} {will be|shall
    be|might be|will probably be|can be|will likely be}
    {much more|a lot more} {useful|helpful} than ever before.|
    Ahaa, its {nice|pleasant|good|fastidious} {discussion|conversation|dialogue} {regarding|concerning|about|on
    the topic of} this {article|post|piece of writing|paragraph} {here|at this place}
    at this {blog|weblog|webpage|website|web site},
    I have read all that, so {now|at this time} me also commenting {here|at this place}.|
    I am sure this {article|post|piece of writing|paragraph} has touched all the
    internet {users|people|viewers|visitors}, its really really {nice|pleasant|good|fastidious}
    {article|post|piece of writing|paragraph} on building up new {blog|weblog|webpage|website|web site}.|
    Wow, this {article|post|piece of writing|paragraph} is
    {nice|pleasant|good|fastidious}, my {sister|younger sister} is analyzing {such|these|these kinds of} things, {so|thus|therefore} I am going to {tell|inform|let know|convey} her.|
    {Saved as a favorite|bookmarked!!}, {I really like|I like|I love}
    {your blog|your site|your web site|your website}!|
    Way cool! Some {very|extremely} valid points! I appreciate you {writing this|penning this} {article|post|write-up}
    {and the|and also the|plus the} rest of the {site is|website is} {also very|extremely|very|also really|really} good.|
    Hi, {I do believe|I do think} {this is an excellent|this is a great}
    {blog|website|web site|site}. I stumbledupon it 😉 {I will|I am
    going to|I’m going to|I may} {come back|return|revisit}
    {once again|yet again} {since I|since i have} {bookmarked|book
    marked|book-marked|saved as a favorite} it. Money and freedom {is
    the best|is the greatest} way to change, may you be rich and
    continue to {help|guide} {other people|others}.|
    Woah! I’m really {loving|enjoying|digging} the template/theme of this
    {site|website|blog}. It’s simple, yet effective.
    A lot of times it’s {very hard|very difficult|challenging|tough|difficult|hard} to get that “perfect balance” between {superb usability|user friendliness|usability} and {visual appearance|visual appeal|appearance}.
    I must say {that you’ve|you have|you’ve} done a {awesome|amazing|very good|superb|fantastic|excellent|great} job
    with this. {In addition|Additionally|Also}, the blog
    loads {very|extremely|super} {fast|quick} for
    me on {Safari|Internet explorer|Chrome|Opera|Firefox}.

    {Superb|Exceptional|Outstanding|Excellent} Blog!|
    These are {really|actually|in fact|truly|genuinely} {great|enormous|impressive|wonderful|fantastic} ideas in {regarding|concerning|about|on the topic of} blogging.
    You have touched some {nice|pleasant|good|fastidious} {points|factors|things} here.
    Any way keep up wrinting.|
    {I love|I really like|I enjoy|I like|Everyone loves} what you guys {are|are
    usually|tend to be} up too. {This sort of|This type of|Such|This
    kind of} clever work and {exposure|coverage|reporting}!
    Keep up the {superb|terrific|very good|great|good|awesome|fantastic|excellent|amazing|wonderful} works guys I’ve {incorporated||added|included} you
    guys to {|my|our||my personal|my own} blogroll.|
    {Howdy|Hi there|Hey there|Hi|Hello|Hey}! Someone in my {Myspace|Facebook} group
    shared this {site|website} with us so I came to {give it a look|look it over|take a
    look|check it out}. I’m definitely {enjoying|loving}
    the information. I’m {book-marking|bookmarking} and will be tweeting
    this to my followers! {Terrific|Wonderful|Great|Fantastic|Outstanding|Exceptional|Superb|Excellent} blog and {wonderful|terrific|brilliant|amazing|great|excellent|fantastic|outstanding|superb} {style
    and design|design and style|design}.|
    {I love|I really like|I enjoy|I like|Everyone loves} what you guys {are|are
    usually|tend to be} up too. {This sort of|This type of|Such|This kind of} clever work and {exposure|coverage|reporting}!
    Keep up the {superb|terrific|very good|great|good|awesome|fantastic|excellent|amazing|wonderful} works guys I’ve {incorporated|added|included} you guys
    to {|my|our|my personal|my own} blogroll.|
    {Howdy|Hi there|Hey there|Hi|Hello|Hey} would you
    mind {stating|sharing} which blog platform you’re {working
    with|using}? I’m {looking|planning|going} to start my own blog {in the near future|soon} but I’m having a {tough|difficult|hard} time {making a decision|selecting|choosing|deciding} between
    BlogEngine/Wordpress/B2evolution and Drupal. The reason I
    ask is because your {design and style|design|layout} seems different then most blogs and
    I’m looking for something {completely unique|unique}.
    P.S {My apologies|Apologies|Sorry} for {getting|being} off-topic but
    I had to ask!|
    {Howdy|Hi there|Hi|Hey there|Hello|Hey} would you mind letting me know which {webhost|hosting company|web host}
    you’re {utilizing|working with|using}? I’ve loaded your blog in 3 {completely different|different} {internet browsers|web browsers|browsers} and I
    must say this blog loads a lot {quicker|faster} then most.
    Can you {suggest|recommend} a good {internet hosting|web hosting|hosting} provider at a {honest|reasonable|fair} price?
    {Thanks a lot|Kudos|Cheers|Thank you|Many thanks|Thanks}, I appreciate it!|
    {I love|I really like|I like|Everyone loves} it {when people|when individuals|when folks|whenever people} {come together|get together} and share {opinions|thoughts|views|ideas}.
    Great {blog|website|site}, {keep it up|continue the good work|stick
    with it}!|
    Thank you for the {auspicious|good} writeup. It in fact was a
    amusement account it. Look advanced to {far|more} added agreeable from you!
    {By the way|However}, how {can|could} we communicate?|
    {Howdy|Hi there|Hey there|Hello|Hey} just wanted to give you a
    quick heads up. The {text|words} in your {content|post|article} seem to be running off the screen in {Ie|Internet explorer|Chrome|Firefox|Safari|Opera}.
    I’m not sure if this is a {format|formatting} issue or something
    to do with {web browser|internet browser|browser} compatibility but I {thought|figured} I’d post to let you know.
    The {style and design|design and style|layout|design} look great though!
    Hope you get the {problem|issue} {solved|resolved|fixed} soon.
    {Kudos|Cheers|Many thanks|Thanks}|
    This is a topic {that is|that’s|which is} {close to|near to} my heart…
    {Cheers|Many thanks|Best wishes|Take care|Thank you}!
    {Where|Exactly where} are your contact details though?|
    It’s very {easy|simple|trouble-free|straightforward|effortless} to find out any {topic|matter} on {net|web} as compared to {books|textbooks},
    as I found this {article|post|piece of writing|paragraph} at this {website|web site|site|web page}.|
    Does your {site|website|blog} have a contact page?
    I’m having {a tough time|problems|trouble} locating it but,
    I’d like to {send|shoot} you an {e-mail|email}.

    I’ve got some {creative ideas|recommendations|suggestions|ideas}
    for your blog you might be interested in hearing. Either way,
    great {site|website|blog} and I look forward to seeing it {develop|improve|expand|grow} over time.|
    {Hola|Hey there|Hi|Hello|Greetings}! I’ve been {following|reading} your {site|web site|website|weblog|blog} for {a long time|a while|some time} now and
    finally got the {bravery|courage} to go ahead and give
    you a shout out from {New Caney|Kingwood|Huffman|Porter|Houston|Dallas|Austin|Lubbock|Humble|Atascocita} {Tx|Texas}!

    Just wanted to {tell you|mention|say} keep up the {fantastic|excellent|great|good} {job|work}!|
    Greetings from {Idaho|Carolina|Ohio|Colorado|Florida|Los angeles|California}!
    I’m {bored to tears|bored to death|bored} at work so I decided
    to {check out|browse} your {site|website|blog} on my iphone during lunch break.
    I {enjoy|really like|love} the {knowledge|info|information} you {present|provide} here and
    can’t wait to take a look when I get home. I’m {shocked|amazed|surprised} at how {quick|fast} your blog loaded on my {mobile|cell phone|phone} ..
    I’m not even using WIFI, just 3G .. {Anyhow|Anyways}, {awesome|amazing|very good|superb|good|wonderful|fantastic|excellent|great} {site|blog}!|
    Its {like you|such as you} {read|learn} my {mind|thoughts}!
    You {seem|appear} {to understand|to know|to grasp} {so much|a
    lot} {approximately|about} this, {like you|such as you} wrote the {book|e-book|guide|ebook|e book} in it or something.
    {I think|I feel|I believe} {that you|that you simply|that you just}
    {could|can} do with {some|a few} {%|p.c.|percent} to {force|pressure|drive|power} the message {house|home} {a
    bit|a little bit}, {however|but} {other than|instead of} that, {this is|that is} {great|wonderful|fantastic|magnificent|excellent}
    blog. {A great|An excellent|A fantastic} read.
    {I’ll|I will} {definitely|certainly} be back.|
    I visited {multiple|many|several|various} {websites|sites|web
    sites|web pages|blogs} {but|except|however} the audio {quality|feature} for audio songs {current|present|existing} at
    this {website|web site|site|web page} is {really|actually|in fact|truly|genuinely}
    {marvelous|wonderful|excellent|fabulous|superb}.|
    {Howdy|Hi there|Hi|Hello}, i read your blog {occasionally|from time to
    time} and i own a similar one and i was just {wondering|curious} if you get a lot of spam {comments|responses|feedback|remarks}?
    If so how do you {prevent|reduce|stop|protect against} it, any plugin or anything you
    can {advise|suggest|recommend}? I get so much lately it’s driving me {mad|insane|crazy}
    so any {assistance|help|support} is very much appreciated.|
    Greetings! {Very helpful|Very useful} advice {within this|in this particular} {article|post}!
    {It is the|It’s the} little changes {that make|which will make|that produce|that
    will make} {the biggest|the largest|the greatest|the most
    important|the most significant} changes. {Thanks a lot|Thanks|Many thanks} for sharing!|
    {I really|I truly|I seriously|I absolutely} love {your blog|your site|your website}..
    {Very nice|Excellent|Pleasant|Great} colors & theme. Did you
    {create|develop|make|build} {this website|this site|this web site|this amazing site}
    yourself? Please reply back as I’m {looking to|trying to|planning
    to|wanting to|hoping to|attempting to} create {my own|my very own|my own personal} {blog|website|site} and {would like to|want to|would love to} {know|learn|find
    out} where you got this from or {what the|exactly
    what the|just what the} theme {is called|is named}. {Thanks|Many thanks|Thank you|Cheers|Appreciate it|Kudos}!|
    {Hi there|Hello there|Howdy}! This {post|article|blog post} {couldn’t|could
    not} be written {any better|much better}! {Reading through|Looking at|Going through|Looking through} this
    {post|article} reminds me of my previous roommate! He {always|constantly|continually}
    kept {talking about|preaching about} this. {I will|I’ll|I am going to|I most certainly will} {forward|send} {this article|this information|this post}
    to him. {Pretty sure|Fairly certain} {he will|he’ll|he’s going to}
    {have a good|have a very good|have a great} read.
    {Thank you for|Thanks for|Many thanks for|I appreciate you for} sharing!|
    {Wow|Whoa|Incredible|Amazing}! This blog looks {exactly|just} like my old one!
    It’s on a {completely|entirely|totally} different {topic|subject} but
    it has pretty much the same {layout|page layout} and design.
    {Excellent|Wonderful|Great|Outstanding|Superb} choice of colors!|
    {There is|There’s} {definately|certainly} {a lot to|a
    great deal to} {know about|learn about|find out about} this {subject|topic|issue}.

    {I like|I love|I really like} {all the|all of the} points {you made|you’ve made|you have made}.|
    {You made|You’ve made|You have made} some {decent|good|really good} points
    there. I {looked|checked} {on the internet|on
    the web|on the net} {for more info|for more information|to
    find out more|to learn more|for additional information} about the issue and found {most individuals|most people} will go along with your views on {this website|this site|this web site}.|
    {Hi|Hello|Hi there|What’s up}, I {log on to|check|read} your
    {new stuff|blogs|blog} {regularly|like every week|daily|on a regular basis}.
    Your {story-telling|writing|humoristic} style is {awesome|witty},
    keep {doing what you’re doing|up the good work|it up}!|
    I {simply|just} {could not|couldn’t} {leave|depart|go away} your {site|web site|website}
    {prior to|before} suggesting that I {really|extremely|actually} {enjoyed|loved} {the standard|the
    usual} {information|info} {a person|an individual} {supply|provide} {for your|on your|in your|to your} {visitors|guests}?
    Is {going to|gonna} be {back|again} {frequently|regularly|incessantly|steadily|ceaselessly|often|continuously} {in order to|to} {check
    up on|check out|inspect|investigate cross-check} new posts|
    {I wanted|I needed|I want to|I need to} to thank you for this
    {great|excellent|fantastic|wonderful|good|very good} read!!

    I {definitely|certainly|absolutely} {enjoyed|loved} every {little bit of|bit of}
    it. {I have|I’ve got|I have got} you {bookmarked|book marked|book-marked|saved as a favorite}
    {to check out|to look at} new {stuff you|things you}
    post…|
    {Hi|Hello|Hi there|What’s up}, just wanted to {mention|say|tell
    you}, I {enjoyed|liked|loved} this {article|post|blog post}.

    It was {inspiring|funny|practical|helpful}. Keep on
    posting!|
    I {{leave|drop|{write|create}} a {comment|leave
    a response}|drop a {comment|leave a response}|{comment|leave a response}}
    {each time|when|whenever} I {appreciate|like|especially enjoy} a {post|article} on a {site|{blog|website}|site|website} or {I have|if I have} something to
    {add|contribute|valuable to contribute} {to the
    discussion|to the conversation}. {It is|Usually it is|Usually it’s|It’s} {a result of|triggered
    by|caused by} the {passion|fire|sincerness} {communicated|displayed} in the {post|article} I
    {read|looked at|browsed}. And {on|after} this {post|article}

  4. I garcinia cambogia extract energy will be drawing my
    own conclusions about Garcinia Cambogia Extract works, according
    to Dr. If you are looking for #1 Pure Garcinia
    Cambogia Extract Research Center. Let’s explore more about Garcinia Cambogia,
    Licorice Root, amino acids L-tyrosine and L-carnitine, Rhodiola
    garcinia cambogia extract energy Rosea and Cha’de BuFeatures :
    The #1 rated acai weight loss formula. Furthermore,,
    Garcinia Cambogia is a tropical fruit found in India and Africa.

  5. Magnificent web site. Lots of helpful info here. I’m sending it
    to some buddies ans additionally sharing in delicious.
    And obviously, thank you for your sweat!

  6. I must thank you for the efforts you have put in writing this website.
    I really hope to see the same high-grade blog posts by you in the future as well.
    In truth, your creative writing abilities has encouraged
    me to get my own, personal site now 😉

    Here is my site – Gay Dating (http://www.youtube.Com)

  7. We are a group of volunteers and opening a new
    scheme in our community. Your web site offered us with valuable info to work on.
    You have done a formidable job and our whole community will be grateful
    to you.

    Look at my page gay marriage (Shad)

  8. Thanks for your personal marvelous posting! I genuinely enjoyed reading it, you’re a
    great author. I will always bookmark your blog and will come back someday.

    I want to encourage continue your great posts, have a nice weekend!

  9. Unquestionably imagine that that you stated.
    Your favourite reason seemed to be on the net the
    simplest factor to be aware of. I say to you,
    I definitely get irked while other people consider issues that they just don’t recognise about.

    You controlled to hit the nail upon the top and also defined out the whole thing with no need
    side-effects , other people can take a signal. Will probably be back to get more.
    Thanks

    Review my blog – slim trim pm worksheet

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>