symfony1.2でDoctrine1.1使ってJobeetチュートリアル16日目

The Fixtures

symfony doctrine:data-load

しようとしたら、Integrity constraint violationと怒られた。
jobeet_jobテーブルがjobeet_categoryテーブルのcategory_idを参照してるので、先にjobeet_categoryテーブルを空にできないからと思われる。
手動で、jobeet_jobテーブル、jobeet_categoryテーブルの順でデータを空にした後に

symfony doctrine:data-load

したら、成功した。

Actions

<?php
// lib/form/doctrine/JobeetAffiliateForm.class.php

/**
 * JobeetAffiliate form.
 *
 * @package    form
 * @subpackage JobeetAffiliate
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 6174 2007-11-27 06:22:40Z fabien $
 */
class JobeetAffiliateForm extends BaseJobeetAffiliateForm
{
  public function configure()
  {
    // jobeet_jobs_listも非表示に
    unset($this['is_active'], $this['token'], $this['jobeet_jobs_list'], $this['created_at'], $this['updated_at']);

// ...

Sending Emails

以前

yum install php-ZendFramework

していたので、autoloadのパスに/usr/share/php/Zend通せないかな。ということで、

# config/autoload.yml
autoload:
  zendframework:
    name:           zend framework classes
    ext:            .php
    path:           /usr/share/php/Zend/
    recursive:      on
<?php
// config/ProjectConfiguration.class.php


require_once '/usr/share/pear/symfony/autoload/sfCoreAutoload.class.php';

sfCoreAutoload::register();

class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
    // for compatibility / remove and enable only the plugins you want
    $this->enableAllPluginsExcept(array('sfPropelPlugin', 'sfCompat10Plugin'));
  }

  static protected $zendLoaded = false;

  static public function registerZend()
  {
    if (self::$zendLoaded)
    {
      return;
    }

    // autoloadされるので、いきなりregisterAutoload()関数呼べる。
    Zend_Loader::registerAutoload();
    self::$zendLoaded = true;
  }
}