1. 第 4 回 Symfony2 勉強会 Symfony2 で より良いソフトウェア を作るために 株式会社アイテマン 久保敦啓 @iteman
![Symfony2でより良いソフトウェアを作るために](https://cdn-ak-scissors.b.st-hatena.com/image/square/1eaf9a4cc802d39c82c5650ae98a7e6a285f9a5f/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fsymfony2-110606213252-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Services Platform.sh for Symfony Best platform to deploy Symfony apps SymfonyInsight Automatic quality checks for your apps Symfony Certification Prove your knowledge and boost your career SensioLabs Professional services to help you with Symfony Blackfire Profile and monitor performance of your apps
symfonyの開発実例って大規模なものが多いとか言われたりしますが、小さなECサイトの開発をsymfonyをベースで作ったのでちょこっと紹介。 愛犬のための犬グッズ専門サイト アットペット アットペット 元々個人的に関わっているサイトなのですが、7年前に古い自前PHPフレームワークで動いていたものをそろそろどうにかするかということで慣れたsymfonyで機能を追加しつつ作り直しました。 オンラインショッピングはもちろんのこと、ポイントでお買い物したり、買った商品に愛犬の写真と共にレビューを投稿することもできます。ポイント還元率が高いので大容量のドッグフードをお探しの方など是非利用してみてください。 なぜsymfonyを選択したか? PHPでECサイトをさくっと作るとなると、EC-CUBEで構築するという選択肢もありましたが次の理由でEC-CUBEを使わないことにしました。 カスタマイズす
ということで早速、macportsで開発環境セットアップ。 php5、apache2、mysql5、symfonyセットアップまで。 もうこれでmacportsでの構築は3度目になりますが、いまだに時間かかってしまう。。 MacPortsでインストール MacPortsの導入まではIT戦記を参照。 http://d.hatena.ne.jp/amachang/20090926/1253982602 パッケージは以下をインストール。 前回のようにシェルスクリプトで一気にインストール。 emacs install_ports.sh list=" apache2 elk lv nkf tree rsync wget mysql5 +server postgresql83 +server curl +universal php5 +apache2 +fastcgi +macosx +mysql5
この記事はSymfonyアドベントカレンダー2010の19日目です Symfony Advent 2010 : ATND Symfonyアドベントカレンダー 2010 | 日本Symfonyユーザー会 前の記事:vim-symfony ver 0.10 についてのまとめ【決定版】 次の記事:Symfonyでクリスマスまでに彼女を作る方法(1.4対応) 1. sfWebBrowserPlugin - RESTful APIを利用するならお手の物。HTTP通信なら完全お任せ! READMEを見ると利用方法が事細かに書かれているので非常に分かりやすいですね。 このpluginでは 3種類のインターフェイスをアダプターという形で用意しています。 sfCurlAdapter sfFopenAdapter sfSocketsAdapter どれを利用しても良いのですが、Forward Proxy経由で
SymfonyEventDispatcherは、デザインパターンの一種であるObserverパターンで実装されたライブラリです。 symfonyではこのライブラリを介してフレームワーク内の様々な処理を行っています。 Observerパターン SymfonyEventDispatcherを理解する上で前提となるのが、このObserverパターンについての知識です。まずこちらの説明から。 Observerパターンとは? オブジェクトの状態を他のオブジェクトから観察し、状態が変化した場合に観察者側にそれが通知される仕組みです。 このパターンは、主に以下のようなクラスから構成されます。 観察者(オブザーバ/Observer) リスナー/Listener、ハンドラとも呼ばれる Subjectの状態変化を観察し、変化が通知されると登録されている処理を行う。 観察対象(サブジェクト/Subject) 自
symfonyで開発しつつ、ブログ部分についてはsymfonyでゼロから開発するのではなく、既に使い慣れたWordpressを使えたら便利ですよね。 このWordpressとsymfonyの連携方法について実際にやってみみたので紹介してみたいと思います。 具体的にはWordpressとsymofnyでテンプレートの共有し、ナビゲーションのHTMLを共通化するなどの処理やWordpressのテンプレートでsymfonyアプリでログインしているかどうかの情報で記事を出し分けるなどの処理の方法を見てみます。 連携方法 今回利用したバージョンはWordpress3.0.1とsymfony1.4.7になります。 連携方法については以下の2種類が考えられると思います。 symfonyのアプリケーションの中からWordpressを呼び出して利用する Wordpressのアプリケーションの中からsym
symfonyによる携帯向けサイト開発 symfonyで携帯サイトの開発を行う場合、デフォルトのフィルタクラスやビュークラスを継承し、携帯向けに改造することでアクションやテンプレート内で機種判定をすることなくスマートなコーディングが可能になります。 今回導入するにあたっては、PC版のサイトが既にあったため、できるだけ既存のアクションファイルを触らず携帯用のテンプレートを置くだけでOK!となるようにしてみました。 クリアする課題 1.機種判定をどうするか? 自作のキャリア判別クラスでも可能ですが、メンテナンスが面倒なので今回はPEARのnet_userAgent_mobileを使用。 キャリア判定や端末情報の取得など一通りの機能が揃っています。アップグレードもコマンド一発なので簡単。 インストール方法。コマンドラインで以下のコマンドを実行するだけ。 $pear instal
『yubitter』という携帯電話向けのTwitterクライアントサービス(ゲートウェイ)をsymfonyで作りました。(サービスの詳細はリンク先でご確認下さい。) cloudrop発のアウトプットとして開発に取り組んだもので、初めてのリリースとなります。 タイトルにはsymfonyと書きましたが、開発には数多くのオープソースソフトウェアのお世話になっています。 できる事ならyubitterもソースを公開したいのですが、利用しているライブラリのライセンスの確認、環境依存部分の抽象化、symfony1.4系への対応、ドイヒーなコードの修正などを行う必要があり、今は難しいところです。 最終的にはそういう諸々を乗り越えての公開を目指して行きたいと思っています。 事実上のモバイル向けクライアントの標準であるモバツイッターや、多機能でアジャイルなMovatter、さらには公式の携帯版がある中で、いま
普段は、東京で開催される勉強会になかなか参加できないのですが、今日はたまたま用事ができた(作った)ので、symfony 1.4勉強会に参加しました。 第3回 symfony1.4勉強会 - events.php.gr.jp 以下、勉強会の感想などです。 symfonyでのタスクの作り方 symfonyで独自に作成できるタスクの基本や、タスクのオプション、パラメータ等の説明。 タスクからのルーティングの呼出やログ出力など sfFormの(ウィジェットの)拡張 sfFormの基本的な書き方 ウィジェット(sfFormWidgetChoice)を拡張した例(実際のソースを配布) postValidatorの例 Propel vs Doctrineの速度比較 Docrineも結構早くなっているよ(Propelもselectは速いけどw)という話 私のブログエントリが引き合いに出されて驚きましたw
localで開発をしてAmazonEC2で運用しようとしたら、えらいハマった。 考えてみれば当たり前なんだけど、しばらく国内サーバーばかり使ってる温室育ちのボクはすっかり忘れてた。 タイムゾーンが違うのよね。。。 今回の場合は、ローカルで現在時間で公開時間を設定していたCMS用データをEC2に置いたサーバーでロードしたところ、全く使えなクなってしまった。 当たり前なんだけどUSWEST / USEASTどちらも、だいぶ日本より時間が遅い。 そもそも、CMSならまだしも、CGMだとユーザーの投稿時間がめちゃくちゃになってしまう。 超あぶねー。 という訳で、以下を必須で設定していおいた方が良さそう project/configにsettings.yml all: .settings: default_timezone: Asia/Tokyo default_culture: ja projec
よくフォームで、全角で入力してくださいだとか、ひらがなで入力してくださいとか色々ありますが、UI的にはプログラム側である程度変換してあげるほうが望ましいですよね。 方法1: Eventを使う symfony 1.3以降では form.filter_values というイベントが定義されています。これが呼ばれるのがFormのdoBindメソッドの先頭です。$form->bind($values) として実行してから、内部でバリデーションをする直前にイベントが発生します。 <?php class RegisterForm extends sfFormSymfony { public function setup() { $this->setValidators(array( 'name' => new sfValidatorString(), 'name_kana' => new sfVali
sfWebDebugで、より正確なメモリ使用量を見るには symfonyを使っていてMemory Exhaustedというエラーが表示されたことはありませんか? PHPは5.2.0でメモリ管理の実装が変更されたため、従来に比べて必要とするメモリ量が増加しています(厳密には「それまで正確ではなかったメモリ確保処理を改良して、より正確なメモリ確保を行なうようにしたためメモリ使用量が増えたように見える」ということだそうです)。このため、PHPスクリプトが取得できるメモリの上限値を設定するmemory_limitのデフォルト値もかつての8MからPHP 5.2.0では16Mに、PHP 5.2.1ではさらに128Mまで引き上げられましたが、PHPをバージョンアップする際にソースアーカイブに含まれるphp.ini-distやphp.ini-recommendedを使用しなかったケースではmemory_l
追記(2010/3/22) このころ自分が共存させようとしていたのは,sfDocTestPlugin という,当時のプロジェクトで利用していたプラグインにディノ版が対応していたからです。今では,anythingユーザであまりマウスを使わない人ならカヤック版,そうじゃない人には機能の豊富なディノ版を「単独で」使うのがお薦めです。 今日はお酒を飲んでいい気分転換ができたのでブログも更新。emacs の symfony 用のマイナーモードは2つあります。ここでは、(作者は個人ですが)ディノ版とカヤック版と呼ぶことにします。それらの導入方法などの初歩的な解説をします。 http://tracfort.jp/projects/dino-symfony/wiki/emacs-symfony (ディノ版) http://github.com/imakado/emacs-symfony (カヤック版) ま
以前にsfFormの表示を日本語化する方法について記事にかきました*1が、今回はそのsfFormを利用しているアドミンジェネレーターでも日本語化してみようとふと思い立ったのでその記録です。 あまり知られていませんが、symfony1.2以降のsymfonyのアドミンジェネレーターは標準で日本語化できます。(翻訳ファイル(カタログ)が不完全なので全部ではありませんが) 手順は至って簡単です。 標準の日本語化 apps/<アプリケーション名>/config/settings.ymlに記述を追加 all: .settings: default_culture: ja i18n: on キャッシュとCookieの消去 キャッシュを消去する symfony cc Cookieの影響でcultureの変更が効かない場合があるので、日本語化にならないときはCookieも削除してみる たったこれだけです。
神彩争霸8- 友情链接: 一分快三网站-首页-购彩之家-官网-彩神v在线登录_官网-火箭彩票-app下载-百人三公-首页-一分快3彩票-[官方平台]-澳洲幸运10-官方网-彩六彩票-官方网站-凤凰彩票app-凤凰彩票app下载-互动彩票-推荐-官方彩票app-官网-购彩中心_购彩中心官网Welcome-亚投彩票APP登陆-最新版APP下载-168彩票-首页-红单彩票-首页-中财彩票App下载_官方版APP 方特国庆期间推出系列主题活动 演绎花样国潮| 零跑C01上市在即,那些再次被提及的细节和坚持才是最大动力| 200 亿美元「卖身」巨头,Figma 不是 SaaS 的「| 俄罗斯航空公司及机场员工收到征兵通知| 克里米亚又一俄军事设施发生爆炸,乌方称要“在俄军内部制造混乱”?| 周冬雨刘昊然恋情追溯到19年,男方曾暗示喜欢女方| 实力+勤奋!F1中国第一人再创历史,车队官宣续约,这份合同
TwitterにてTakiTakeさんがつぶやいていたので、気になって調べてみました。 いろいろググッたところ、次のエントリが見つかりました。 http://arpeggios.wordpress.com/2008/08/15/logging-on-tasks/ エントリの内容を簡単にまとめると以下のような感じです。 symfonyのtaskはsfTaskの派生クラスで、sfTask::log($messages)メソッドなどを利用できる。 sfTask::logメソッドは、command.logイベントを発生させる。 したがって、タスク側でcommand.logイベントをファイルに記録するsfFileLoggerオブジェクトを作成して、このイベントにconnectすればOK というわけで、以下のようなコードが示されています。 <?php $file_logger = new sfFile
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く