プラグインとか

第二回symfony勉強会

秋元裕樹

ならべて.com/アジアジン/サイボウズ・ラボ株式会社

今日の内容

自己紹介

symfonyプラグインとは

symfonyプラグインの探し方

プラグインの使い方

公式マニュアルにある通りですが…

プラグインの使い方(続き)

symfonyプラグインの(現行の)問題点

実績のあるプラグイン

symfoniansを例に

symfoniansが使っているプラグイン(1)

少なくとも、使えるレベルとわかる

symfoniansが使っているプラグイン(2)

symfoniansが使っているプラグイン(3)

Model系プラグイン

今日の発表はsymfony1.1ベース

Feed(RSS/Atom)プラグイン

FAQプラグイン

sfFaqPlugin利用

> mkdir symfony_apps/faq
> cd symfony_apps/faq
> symfony generate:project faq
> symfony generate:app frontend
// 管理側アプリも作っておく
> symfony generate:app backend
> symfony generate:module frontend default

sfFaqPlugin/httpd.conf

VirtualHostの設定に追加

  Alias /faq/sf "c:/work/symfony11/PEAR/data/symfony/web/sf"
  Alias /faq "C:/work/akimotojp/symfony_apps/faq/web"

sfFaqPlugin/データベース

databases.yml
      dsn: mysql://user:pass@localhost/faq
      encoding: utf8
propel.ini
propel.database.createUrl  = mysql://user:pass@localhost/
propel.database.url        = mysql://user:pass@localhost/faq

sfFaqPlugin/ビルド

apps/frontend/config/settings.yml
    enabled_modules:        [sfFaq]
apps/backend/config/settings.yml
    enabled_modules:        [sfFaqAdminCategories, sfFaqAdminFaq]

sfFaqPlugin/使う

sfFaqPlugin/カスタマイズ

apps/frontend/config/app.yml

all:
  sfFaqPlugin:
    title:                     "よくある質問"
    separator:                 '-'
    question_separator:        '<hr />'
    first_category_by_default: true
    first_question_by_default: true
    js:                        true

sfFaqPlugin/このあと

twitterプラグイン

twitterプラグイン/インストール

twitterプラグイン/バグ

twitter/いつ投稿するか

投稿のタイミング

twitter/タスク作成

symfony1.1から

twitter/タスク編集

lib/task/myTwitterpostTask.class.php

// add arguments here, like the following:
$this->addArgument('application', sfCommandArgument::REQUIRED,
  'The application name');
protected function execute($arguments = array(), $options = array())
{
  $t = new idTwitterClient('user','pass');
  $t->StatusUpdate('I\'m updating my status...');
}

twitter/タスク実行