More Related Content
PDF
Yet another use of Phalcon PPTX
PDF
Phalcon + AngularJSで作る動画プラットフォーム PDF
はじめてのDreamforce はじめてのLightning PDF
KEY
スマートフォンにおけるアニメーション実装 ~FlashからHTML5へシフトするには~ PDF
PDF
What's hot
PDF
Firefox OS Updates 201311 PDF
Firefox OS 1.0 Application Development PDF
PDF
2011_9_9_AIR_LightningTalk PDF
Monacaによるモバイルアプリ開発ことはじめ PDF
PhucSon Software Company - Image Present PDF
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch PDF
Web is the OS (KDDI mugen Labo) PDF
Firefox OS - Blaze Your Own Path PDF
Viewers also liked
PPTX
PPT
PHP buildpackでhackとphalconが動いた件について PDF
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~ PDF
PDF
今、最もイケてるPHPフレームワークLaravel4 PPT
Dependency management in PHP & ZendFramework 2 PDF
PDF
PDF
Symfony2 チュートリアル イントロダクション osc 2011 nagoya PDF
PDF
PDF
PDF
PDF
Symfony2でより良いソフトウェアを作るために PPTX
PDF
Code igniterを初めて使うときにはまった4つのポイント PDF
PDF
PDF
ZFConf 2012: Zend Framework 2, a quick start (Enrico Zimuel) PDF
Zend四十八手シリーズ Zend_Cache Zend_Paginator Similar to 受託開発のPhalcon
PDF
「新しい」を生み出すためのWebアプリ開発とその周辺 PDF
PDF
PDF
PDF
PDF
Phalcon PHPフレームワーク Sense of Use PHPカンファレンス 2015(大阪、福岡) PDF
PDF
フロントエンド温泉にサーバーレスでダイブする(Public) PDF
受託開発のPhalcon
- 1.
- 2.
- 3.
- 4.
基本情報 平岡 雅俊28歳 独身
IT歴 9年くらい
PHP歴 5年くらい
趣味 スノーボード
生息地 千葉県浦安市
好きな食べ物 オムライス
嫌いな食べ物 ホルモン
株式会社ソニックムーブ(http://www.sonicmoov.com)
に入社してはや3年目。
入社当初はソーシャルゲーム開発をSymfony1系で、ソ
リューション事業部に移動してからはWordPressや
PhalconなどのFWを用いてシステム開発を行う。
インフラがちょっと苦手。
似顔絵アイコンは弊社デザイナーにお願いして書いてもらい
ました!似てると評判。本人はちょっと複雑。
- 5.
- 6.
• C拡張で実装された爆速PHPフレームワーク
• 拡張性が高いので、結構自由な構成で開発できる
•DIコンテナ、Event Dispatcherなどで汎用性が高い
• 謹製テンプレート言語 “Volt”
• 公式ドキュメントがしっかりしている(英語だけど)
• ドキュメントの日本語化もすすんでます!(サボっててすみません_ノ乙(、ン、)_)
• incubator や phalcon eye などのサンプルソースが豊富
• FW自体の開発もどんどん進んでます(Zephir)
http://blog.phalconphp.com/post/57161129440/phalcon-2-0-
the-future
• Vagrant にも対応
http://phalconphp.com/en/download/vagrant
- 7.
- 8.
- 9.
- 10.
- 11.
502 Bad Gateway
ページを表示しようとすると、“502Bad Gateway”が発生。
事象発生初期では、別チームからVoltのテンプレートでエスケープ処理
を多様すると起こるとの情報があったが、Viewの処理直前で強制的に中
断させても起き続けた。 php-fpm が吐き出す core dump ファイルを解
析するも、原因が分からず。。
調べるなかで、どうやら pagination まわりが怪しいことが判明。
そこで、“全知全能の神”とか“先生”とか呼ばれている、とある友人に聞
いてみました!
環境
• nginx 1.4.7
• php + php-fpm 5.4.22
• Phalcon 1.2.4
• Mysql 5.6.17
- 12.
- 13.
- 14.
- 15.
- 16.
Pagination + groupby
502 Bad Gatewayにならなくなって小躍りしていたところに新たな問題。
pagination を使ったページング処理中に group by を絡めた場合、なに
やら結果セットの様子がおかしい。。
早速、友人に聞いてみると、以下回答が返ってきた。
https://github.com/phalcon/cphalcon/issues/2065
どうやらこれもバグらしい。※2014年8月現在では修正されている模様(FBが早いのもイ
イ!)
内容としては、paginationが返す結果セット数がgroup byによってグ
ルーピングされる以前の数字なっているというもの。
仕方がないので、paginationのオブジェクトをちょっと拡張、ついでに
behaviorっぽくしてみた。
- 17.
- 18.
- 19.
QueryBuilder + Join
Phalconでは QueryBuilder を使ってSQLを構築したりできます。
ただ、このドキュメントを見てそのまま利用しようとすると、Model が見つ
からない旨のエラーメッセージが表示されます。
Join 等でモデルを指定する時は必ず Namespace 込みのフルパス
(?)で指定する必要があります。
例えば Namespace が Sonicmoov であれば次のようになります。
- 20.
- 21.
- 22.
Validation + StringLength+ UTF-8
参考
https://github.com/phalcon/cphalcon/issues/971
PhalconのStringLengthValidationでは、mbstringモジュールが有効な
場合は内部的にmb_strlen()を利用するように書かれています。
が、mb_internal_encoding(“utf-8”);を指定しないと、文字数カウントがう
まくいかず、正常なバリデーション結果が得られません。
- 23.
その他
他にも色々とハマりましたが、全体的に Model の実装周りでつまづいた
ことが多かったように思います。
元々Symfony を使っていて、Propel に慣れていたせいもあってか、「で
きるだろう」と思ったことができなかったり、やり方を見つけるまでに時間
がかかりました。。
確かに公式マニュアルは充実していますが、要所々をかいつまんだ説
明になっていることも多く、Cの実装部分を覗いたり、他に同じことを実装
しているソースコードを読んだりして、気づく点が多かったと思います。
そういった意味でも、これからどんどん Phalcon ユーザーが増えて、自
分の為これから Phalcon を始めよう!って人の為に情報を共有してもら
えると良いかと思います!
※あと公式マニュアルの翻訳ガンバります _ノ乙(、ン、)_
- 24.
- 25.
- 26.
- 27.
- 28.