Three years of my Zend Framework Tutorial

Three years ago today, I published my first Getting Started with Zend Framework tutorial. This was the announcement. Back then, Zend Framework was at version 0.1.5 and a considerably smaller download than now :)

Three years later and I haven't lost my enthusiasm for Zend Framework as you can tell since the latest version of the tutorial supports ZF 1.8 and 1.9 and uses the new features like Zend_Application and the command line Zend_Tool scripts. And I wrote a Zend Framework book!

I wonder what will happen in the next three years?!

21 Responses to “Three years of my Zend Framework Tutorial”

  1. 1 Sergey

    Rob, your ZF-tutorial is the greatest tutorial for beginners! Thank you.

  2. 2 Rick

    Oh, I know exactly what will happen.

    Every few weeks/months Zend Framework will be updated with something awesome, that will have you updating the tutorial. This cycle will continue until ZF becomes sentient and starts generating it's own tutorials. Zend_Tool_Tutorial will become the first non-human author to appear in print.

    Shortly after that Zend_Tool_Tutorial will be deprecated since Zend_Tool_Consultant will make ZF developers obsolete and we'll all be out of a job.

    Seriously, don't you sometimes wish ZF's development would slow down a bit? ;-)

  3. 3 Raynor

    Congratulations! Ans thanks for the your great tutorials, a lot of people started learn ZF with them :)

  4. 4 zivee

    Thank you for your great zf tutorial!

  5. 5 John Nunez

    Rob! Congrats and thanks! You made it easy to pick up ZF.

  6. 6 Ryan Mauger

    Great work Rob!

    Hopefully the last big rewrite you will need to do in the next 3 years will be for 2.0!

    You have provided a truly valuable resource to many people getting to grips with ZF, so consider yourself patted on the back!

  7. 7 Erdal YAZICIOGLU

    It was really pleasure learning ZF from your tutorial and your book.

    Thanks a lot

  8. 8 Danny Froberg

    Rob,
    Your stuff really helps beginners out!
    /Danny

  9. 9 ronnystalker

    yes...well done Rob. I don't think Zend Framework would be as successful as it is without your tutorials. We'd all still be scrabbling around in the mud!

    Hands up who hasn't followed Rob's tutorials.....I rest my case

  10. 10 Marcus

    Great tutorial - helped me a lot! I also bought your book. Unfortunately many things have changed in ZF, so please update the book for version 2.0. As a newbie you never know how you should name this and that in the latest version and this is really a nightmare. Why are there so few tutorials online? I think Zend really should put some more work into building more tutorials for starters. The quick start is a joke.

  11. 11 Marcus

    by the way: how about updating your zend_auth tutorial?

  12. 12 Hari K T

    Yes, you are right . Every php developers may be looking forward to see what will happen in the coming years .
    Though there are many frameworks for PHP many are learning Zend Framework for its the PHP company that supports it.

  13. 13 Erdal YAZICIOGLU

    Rob

    We need a Ajax and ZF tutorial badly :)

    Keep clicking :)

  14. 14 Rob...

    Marcus,

    It's on my list... the list is just so long though :(

    Rob...

  15. 15 Cliff

    > I wonder what will happen in the next three years?!

    You'll finally learn perl? :)

  16. 16 Rob...

    Cliff,

    Don't hold your breath!

    Rob...

  17. 17 Allan Mercado

    Hi Rob!

    Your tutorials are great and I read the ZFiA cover to cover a couple of times :)

    I have a question about the Places website example. I've based a site on what I've learned from that site but there is something I can't figure out.

    When a user logs in, we start a session with Zend_Auth. How do you control the timeout value for that session? I've searched the web and found snippets of code to change timeout values, but none of them seem to work with the login/auth examples you provided. Can you share some insight on what I would have to do to determine what that timeout is and how to change it so my users don't timeout due to inactivity as often?

    Thanks so much!!!
    Allan

  18. 18 Rob...

    Allan,

    It's a PHP session underneath, so the php.ini variables session.gc_maxlifetime and session.save_path are relevant.

    For a specific app, you can do something like this in an _init() function within your Bootstrap:

    e.g.

    
    $timeout 7200// 2hours
    ini_set('session.gc_maxlifetime'$timeout);
    
    $dir ini_get('session.save_path').PATH_SEPARTOR.'mysite';
    if (!is_dir($dir)) { mkdir($dir0777); }
    ini_set('session.save_path'$dir);
    
    

    Regards,

    Rob...

  19. 19 Cany

    Please help!!! I am stuck
    When I run the tutorial website using the ZendFramework, I am getting this error, "The mysql driver is not currently installed"
    I am using:
    Apache2.2
    PHP5.3
    latest ZendFramework version

    Message: The mysql driver is not currently installed

    Stack trace:
    #0 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Db\Adapter\Pdo\Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect()
    #1 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Db\Adapter\Abstract.php(448): Zend_Db_Adapter_Pdo_Mysql->_connect()
    #2 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Db\Adapter\Pdo\Abstract.php(238): Zend_Db_Adapter_Abstract->query('DESCRIBE `album...', Array)
    #3 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Db\Adapter\Pdo\Mysql.php(156): Zend_Db_Adapter_Pdo_Abstract->query('DESCRIBE `album...')
    #4 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Db\Table\Abstract.php(814): Zend_Db_Adapter_Pdo_Mysql->describeTable('albums', NULL)
    #5 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Db\Table\Abstract.php(857): Zend_Db_Table_Abstract->_setupMetadata()
    #6 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Db\Table\Abstract.php(964): Zend_Db_Table_Abstract->_setupPrimaryKey()
    #7 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Db\Table\Select.php(100): Zend_Db_Table_Abstract->info()
    #8 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Db\Table\Select.php(78): Zend_Db_Table_Select->setTable(Object(Model_DbTable_Albums))
    #9 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Db\Table\Abstract.php(1000): Zend_Db_Table_Select->__construct(Object(Model_DbTable_Albums))
    #10 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Db\Table\Abstract.php(1286): Zend_Db_Table_Abstract->select()
    #11 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\application\controllers\IndexController.php(16): Zend_Db_Table_Abstract->fetchAll()
    #12 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Controller\Action.php(513): IndexController->indexAction()
    #13 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Controller\Dispatcher\Standard.php(289): Zend_Controller_Action->dispatch('indexAction')
    #14 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Controller\Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
    #15 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Application\Bootstrap\Bootstrap.php(77): Zend_Controller_Front->dispatch()
    #16 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\library\Zend\Application.php(346): Zend_Application_Bootstrap_Bootstrap->run()
    #17 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zf-tutorial\public\index.php(26): Zend_Application->run()
    #18 {main} Request Parameters:
    array (
    'controller' => 'index',
    'action' => 'index',
    'module' => 'default',
    )

  20. 20 Cany

    There are no errors in my Apache error logs.

  21. 21 taosheng

    to Cany: you can install the PDO-MYSQL driver lonely or you can recompile your php server with proper parameter.

The views expressed in these comments are not the views of the publisher. However, we believe in the rights of others to express their legitimate views and concerns. Any legitimate complaint emailed to rob@akrabat.com will be seriously considered and the post reviewed as desirable and necessary.

Leave a Reply

Buy now!