symfonyでの開発を楽にする3つの方法
symfonyの開発は慣れていても思い出すのは大変
symfonyで開発して多少慣れてくると色々と面倒だなぁと思う事があります。その1つが実装方法やサンプルコードを思い返すのに時間が掛かるということです。
今日は、この問題をちょこっと解決できる3つの方法
- installerを利用する
- skeletonを利用する
- generatorを利用する
について紹介したいと思います。
symfony1.4(1.3)で簡単に確認画面を作るアドミンジェネレータ
exDoctrineThemePlusPlugin
すでに議論され尽くしている感がある「確認画面を作る方法」ですが、symfony1.3以降で簡単に確認画面を作成できるテーマを作成しましたので紹介します。
1行で書けるPHPファイルを直接実行させない方法
Webサーバーのウェブルート以下に、クラスファイルやincludeされることが前提となっているライブラリファイルのような直接実行されることを意図していないPHPファイルを置いてしまった場合、意図していなくてもブラウザから直接URLを入力された場合はPHPファイルが実行されてしまいます。
Symfony TemplatingをCakePHPで使ってみる
CakePHPでSymfony Templatingを使ってみる
前回はSymfony Templatingを単独で利用したり、Smartyと連動させてみました。
次に何をしようかと思い、現在のsymfonyで組み込んでみようかと思いましたが、すでにOpenPNEでおなじみの手嶋屋の海老原さんがブログで実践されていました。
というわけで、あのCakePHPのViewとしてSymfony Templatingを使ってみたらどうだろうと思い試してみました。
ただし、CakePHPのViewを完全に置き換えているわけではありません。
とりあえずCakePHPのViewとして動作させることができたという感じです。
Symfony Templatingを使ってみませんか?
Symfony Componentsというのをご存知でしょうか?その名前のとおり、あのPHPのフレームワークで有名なsymfonyに関係するコンポーネントなのですが、symfonyの次期バージョンであるSymfony2で利用されるコアとなる各コンポーネントがライブラリとして公開されています。
近頃、その1つでテンプレート機能部分である Symfony Templatingが公開されましたので、さっそく使ってみました。軽量で柔軟性が高いのでsymfonyを使った事がある人も無い人も簡単に導入する事が可能だと感じました。
そこで、symfonyを使った事がある人も無い人も、「テンプレートエンジンといえばSmartyを使っているけど、PHPってテンプレートエンジンみたいなものだしPHPでテンプレートを書きたい。。」という方まで、ドキュメントとソースを読んで実際に使ってみた例を紹介したいと思います。
Gitで更新時にメールを送信する
社内のソースバージョン管理でgitも使ってみようということで、開発メンバーが利用できるようにgit環境を構築しています。
subversionで管理しているときは、commit時にcommitの概要をMLにメールを送信するようにしていました。メールが届いたから何かをするわけではありませんが、commit内容をわざわざ報告しなくてもMLで共有できるので便利です。
gitでも同様のことができまるようにしてみました。gitの場合は複数のリポジトリが存在しますが、情報が欲しい情報のはみんなが共有しているリポジトリの更新内容です。なので、共有リポジトリに対してのみ設定を行います。
DoctrineのfindBy,findOneByにorder byを追加する方法
symfonyではDoctrineが実質的な標準ORMになりました。
まだまだ使いきれていないのですが、機能が豊富にあるため知っているのと知らないのではかなりの差がでてきます。
今回は知っていると得するDoctrineの小ネタです。
Doctrineの特徴としてfindByとfindOneByメソッドがあります。
これらはマジックメソッドで実装されており、カラム名をつけて呼び出すことでより通常のDQLの記述よりも短くすっきりと書くことができます。
DAY10: AJAXでデータ操作
質問の投稿
新しい質問の投稿をAJAXを使ったフォームで実装していきます。
ログインフォームをAJAXで実装しているので基本は同じです。
symfony1.0との違いはやはりsfFormを利用した実装です。
DAY9: ローカルの改善
これまでのおさらい
symfonyで簡単なよくあるAJAXを実装するための関数や機能が用意されているのがわかりました。
また、外部ライブラリがコアのプラグインとして提供されるようになったということがわかりました。
9日目はテキストエリアのMarkdown対応と、ルーティングの変更です。
DAY8: symfonyでAJAXを使う
これまでのおさらい
ようやくそれらしいアプリケーションができてきた感があります。でも、まだ8日目なんですね。。
本日はAJAXをsymfonyでやってみるということです。ではがんばってチュートリアルを実践してみます。
