Zend Framework quick start

  • create project
    [sourcecode]zf.sh create project rsvp[/sourcecode]
  • Link library
    [sourcecode]ln -s /path/to/ZendFramework-1.11.11-minimal/library/Zend .[/sourcecode]
  • set up access permission for application/ folder by add .htaccess file with line:
    [sourcecode]deny from all[/sourcecode]
  • To set the project as a sub-folder instead of document root (common in shared hosting), one has to set up path redirect. First, we need to change .htaccess file under the project folder to add path rewrite function (Note: need to make sure apache httpd.conf has the “AllowOverride All” set for the folder)

    [sourcecode]
    RewriteRule (.*) ./public/$1
    [/sourcecode]

    Second, we can edit configs/application.ini and add a line
    [sourcecode]settings.baseUrl = "/rsvp"[/sourcecode]

    Third, edit Bootstrap.php and add a function
    [sourcecode]
    protected function _initBaseUrl()
    {
    $options = $this->getOptions();
    $baseUrl = isset($options[‘settings’][‘baseUrl’])
    ? $options[‘settings’][‘baseUrl’]
    : null; // null tells front controller to use autodiscovery, the default
    $this->bootstrap(‘frontcontroller’);
    $front = $this->getResource(‘frontcontroller’);
    $front->setBaseUrl($baseUrl);
    }
    [/sourcecode]

  • create layout
    [sourcecode]zf.sh enable layout[/sourcecode]
    and then edit application/layouts/layout.phtml to add necessary header/footer inclusion.
  • set up database by editing application/configs/application.ini file
    [sourcecode]
    resources.db.adapter = PDO_MYSQL
    resources.db.params.host = localhost
    resources.db.params.username = my_username
    resources.db.params.password = my_password
    resources.db.params.dbname = my_db
    [/sourcecode]

  • create controller
    [sourcecode]zf.sh create controller controllername[/sourcecode]
  • create action
    [sourcecode]
    zf.sh create action add controllername
    zf.sh create action edit controllername
    zf.sh create action delete controllername
    [/sourcecode]
  • create model
    [sourcecode]
    zf.sh create db-table controlername db_table_name
    [/sourcecode]

    and then modify application/models/DbTable/ProjectName.php to add CRUD DB functions.

  • Leave a Reply