Symfony

【Symfony2.3】よく使うコマンドまとめ。

まだ2日目だけど、これまででよく使ったやつ。

// バンドルのひな形を作成
app/console generate:bundle
// エンティティ作成
php app/console generate:doctrine:entity
// エンティティよりデータベースにテーブルを作成
php app/console doctrine:schema:update --force
// キャッシュをクリアして再生成しない
php app/console cache:clear --no-warmup
// コンテナに登録されているサービス一覧を取得
php app/console container:debug
// 全ルーティング設定を取得
php app/console router:debug
// コンソールコマンドを一覧表示
php app/console list

こんなもんか。

 

【Symfony2.3】エンティティのCRUD一式を自動生成する。

メモ。

php app/console doctrine:generate:crud

The Entity shortcut name: HogeFugaBundle:Piyo
Do you want to generate the "write" actions [no]? yes
Configuration format (yml, xml, php, or annotation) [annotation]: yml
Routes prefix [/user]: Enter
Do you confirm generation [yes]? Enter

これは超絶お手軽。

 

【Symfony2.3】メールの送信処理をGmail経由で行う。

メモ。

parameters.ymlに下記を定義。

parameters:
    mailer_transport: gmail
    mailer_encryption: ssl
    mailer_auth_mode: login
    mailer_host: smtp.gmail.com
    mailer_user: hoge@gmail.com
    mailer_password: 'password'

以上。

 

【Symfony2.3】テーブルスキーマを強制的に更新する。

エンティティを追加した時とかベンダーを追加した時とかに実行。

php app/console doctrine:schema:update --force

 

【Symfony2.3】コンソールからエンティティクラスを作成する。

ひな形メモ。

php app/console generate:doctrine:entity --entity=HogeFugaBundle:Piyo --format=annotation --fields="name:string(255) age:smallint(1) createdAt:datetime updatedAt:datetime"

int型のカラムにunsigned属性などを付与したい場合は一旦ここでエンティティを生成してから、テーブルスキーマを更新する前に生成されたエンティティクラスのアノテーション部分を[こうすれば]OK。

コンソールから属性付与するやり方は調べたけどわかんなかった。

 

【Symfony2.3】コンソールからバンドルを作成する。

ひな形メモ。

php app/console generate:bundle --namespace=Hoge/FugaBundle --format=yml

 

【Symfony2.3】エンティティクラスのアノテーションでunsigned属性を設定する。

メモ。

/**
 * @ORM\Column(name="id", type="integer", options={"unsigned"=true})
 */

 

【Symfony2.3】でなにかおかしいと思ったら。

まずは黙ってキャッシュクリア。

これはガチ!!!!!!!!マジで!!!!!!

php app/console cache:clear --no-warmup

そしてキャッシュクリア時は–no-warmupオプションをつけたほうが幸せになれる模様。