タグ

ブックマーク / brtriver.hatenadiary.org (9)

  • TwigをPhar化 - ぷぎがぽぎ

    Twigを使うことが多いですよね。そしてもっとデプロイを楽にしたいですよね。 PHPにはpharという(javaでいうjarみたいな)機能があってファイルをまとめることができます。 via: PHP: はじめに - Manual というわけで、Twigをphar化すれば良いというわけで以下に手順のメモ compile.phpを作成 まずはtwigをgitから取得 $ git clone https://github.com/fabpot/Twig.gitコンパイラーでtwig.pharを作成 <?php $phar = new Phar('twig.phar', 0, 'twig.phar'); $phar->buildFromDirectory(__DIR__ . '/Twig.git/lib'); $phar->compressFiles(Phar::GZ); $phar->setDe

    TwigをPhar化 - ぷぎがぽぎ
  • Silexを試してみた - ぷぎがぽぎ

    シンプルな問い合わせフォームアプリをSilexを使って作ってみましたのでその紹介。 Silexとは? SilexとはPHPで書かれたマイクロフレームワークです。RubyのsinatoraにインスパイアされてSymfony2のリードマージャー(Lead Merger)であるファビアンさんが作っています。特徴として名前空間がしがし使っていたりするのでPHP5.3.2以上でないと動きません。 というと、Symfony2っぽいと思われる方がいると思いますが、このSilexのライブラリはSymfony2でも利用しているコンポーネント類の一部を利用して作成されています。いわばSymfony2の妹分といったところでしょうか。 あと、ライブラリをpharアーカイブで配布しているので基silex.pharの1ファイルさえあれば動かせます。 冗談のようなアプリかと思っていたら意外(失礼)と気のようで公式サ

    Silexを試してみた - ぷぎがぽぎ
  • Symfony2のエラーページのカスタマイズ - ぷぎがぽぎ

    PR7になってからフレームワークでエラーページに謎のキャラクターが出現するようになりました。 でも、キャラクターと言えばSymfonyにはしんふぉにゃんがいます。何それ?ってかたはsymfonyの非公式マスコットが作成されたようです - モノノフ日記を参照。 というわけで、エラーページをカスタマイズしなくてはという何か昔に似たようなことをやった気がしなくもありませんが、Symfony2の調査がてらやってみました。 どうやって拡張するか 「画像を上書きすればできるし」という声も聞こえますが、まずはドキュメントを読んでみます。 How to customize Error Pages (The Symfony CookBook) すぐに見つけました。しかし、これで出来ると思いきやこの通りやっても出来ません。バージョンアップのどこかでパスが変わったようです。 大丈夫。全く問題ありません。こんなこ

    Symfony2のエラーページのカスタマイズ - ぷぎがぽぎ
  • Symfony2 と戯れてみた (その1) - ぷぎがぽぎ

    Symfony2はsandbox版が配布されていますが、実際に自分でアプリケーションやバンドルを作成するにはどうするのか試してみました。 sandboxをとってきて試すだけであればhttp://symfony-reloaded.org/codeからどうぞ。以下はGitHubからソースコードを取得し、コマンドを使って雛形まで作ってみます。 ただし、公式のマニュアルにはこれらの手順については何も書かれていませんのであくまでも私が推測で試した結果です。また動きが怪しかったりしてますが、まだプレビュー版ですので安定していないかったりバグがあるのはよくあることです。この点をご理解の上お読みください。_(_ _)_ Symfony2のソースをとってくる ここではGitHubからcloneしてきます。symfony-sandoxをclonseしてきます。 symfonyそのもののリポジトリもありますが、

    Symfony2 と戯れてみた (その1) - ぷぎがぽぎ
  • リダイレクト時にスラッシュ(/)でなくGETパラメータでリダイレクトさせたい - ぷぎがぽぎ

    いまだにハマッたまま抜け出せないので、もう諦めて別の方法で回避していますが、symfony で $this->redirect('fuga/hoge?sid=xxxx'); とすると /fuga/hoge/sid/xxxx に勝手に変換されてリダイレクトされます。 symfonyの強力なサポーターであるid:innx_hidenoriさんとコメントが被ってますが、symfonyサポーターの優しさですw さて、題の件ですが、結論からいうと対処できます。 ただし、symfonyのバージョンによって対処方法が異なります。 symfony1.0, 1.1系(factories.ymlでextra_parameters_as_query_stringの設定ができないバージョン) sf_url_formatが'PATH'という文字列で指定されている場合にスラッシュで自動変換されます。 これを'GET

    リダイレクト時にスラッシュ(/)でなくGETパラメータでリダイレクトさせたい - ぷぎがぽぎ
  • symfony ccで時間がかかる場合 - ぷぎがぽぎ

    ある程度のアクセスがある場合や、キャッシュを多用していると、symfony ccを実行するとかなり時間がかかることがあります。 そういう場合は、アプリケーションのsetting.ymlでcheck_lockをonにしておくと、キャッシュクリア中は全てのアクセスをunavailable.phpにリダイレクトしてくれるので、例えば「メンテナンス中です」のような表示にしておくことができます。 やっていることはsymfony cc時にロックファイルを作成しているだけです。 なので、万が一symfony ccが終わったのにunavailable.phpにリダイレクトされる場合は作成されているロックファイルを削除すればOKです。 また、このロックファイルの存在を知っていれば、自前タスクなどでアプリケーション全体へのアクセスを禁止したい場合などにもロックファイルを作成さえすれば同じような処理を実装するこ

    symfony ccで時間がかかる場合 - ぷぎがぽぎ
    soh335
    soh335 2009/11/05
    アプリケーションのsetting.ymlでcheck_lockをonにしておくと、キャッシュクリア中は全てのアクセスをunavailable.phpにリダイレクト
  • PHPで簡単に配列の値をエスケープ処理する方法 - ぷぎがぽぎ

    PHPとクロスサイトスクリプティング クロスサイトスクリプティング(XSS)を発生しないようにするには出力時に適切にエスケープ処理させるというのはウェブアプリケーションを開発する人たちにとっては今は常識となっています。 しかし、PHPのように、HTMLに埋め込んで利用できるような言語ではつい「うっかり」エスケープ処理を忘れてしまいXSSが..ということがあります。 CakePHPやsymfonyなどのフレームワークを使っていればフレームワーク側で適切に処理させる事が可能ですが、そういったフレームワークを使っていないときにできるだけ簡単にエスケープ処理する方法の1つを紹介したいと思います。 最終的なサンプル どうやって実現するかは後にして実際のサンプルでどのような動作になるかをみてみましょう。 <?php $str = '<script>alert("test")</script>'; $t

    PHPで簡単に配列の値をエスケープ処理する方法 - ぷぎがぽぎ
  • プルダウンの表示内容をjQueryで書き換える - ぷぎがぽぎ

    次の案件がsymfony1.0ということで、久しぶりにsymfony1.0を触っています。 フォーム周りはまったくの別モノってぐらい違うのですが、やれば思い出すものです。 さて、symfony1.0でフォームにおいて日付のプルダウンをつくるとき、誰もが悩むであろう点があります。 それは、年、月、日のプルダウンを一括して出力するinput_date_tagという関数があるのですが、区切り文字は1つしか指定できないということです。 区切り文字が「/」だった場合は次のように表示されます。 決してユーザーに優しいUIではないですね。 日的には [2009]年[03]月[29]日 のようにしたいところですがこれが簡単にできません。 というわけで、次に考えるのが区切り文字として空文字(NULL)を指定し、プルダウンの値に直接「年」や「月」を追加してしまう方法です。以下のようなプルダウンを作るわけです

    プルダウンの表示内容をjQueryで書き換える - ぷぎがぽぎ
  • sfObjectRouteで確認画面を作ってみる - ぷぎがぽぎ

    [追記] 4/9 sfObjectRouteCollectionを使った場合も追加 sfObjectRouteとは? アシアルさんのブログが一番わかりやすいので、そちらを最初に読むとよくわかります。 参照: symfony 1.2のルーティングまとめ - アシアルブログ sfObjectRouteを使うメリットは? アクションの記述が減ります。ルーティングのルールに従って処理されるからです。 データベースからidで値を持ってくる処理は、ルーティングの設定さえ行えば、アクションにはモデル取得のための記述が $job = $this->getRoute()->getObject(); だけになります。 sfObjectRouteを使った場合のデメリットは? 今回のお題のような確認画面を新しく作りたいというような場合にどうやっていいか悩む。 そして、場合によっては、ルールを超えるために複雑なコー

    sfObjectRouteで確認画面を作ってみる - ぷぎがぽぎ
  • 1