Manage, aggregate, and distribute any digital product and master data for any channel and deliver user-centric personalized customer experiences on any device.
Manage, aggregate, and distribute any digital product and master data for any channel and deliver user-centric personalized customer experiences on any device.
はじめに 本連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介していきます。今回はZend_Controllerの最新機能を紹介したいと思います。以前Zend_Controllerを扱ったときからおおよそ2年半経過し、その間にZend Frameworkのバージョンも1.0から1.10にまでなりました。 この間にZend_Controllerコンポーネント内でもいくつかの変更がありました。具体的にはルーティングとアクションヘルパーについて、追加された機能や変更された機能があります。今回はこれらのうち、ルーティングへの変更を取り上げます。 対象読者 PHPの基本構文については一通り理解している方を対象としています。また、過去の記事からの差分を中心に扱っているため、必要に応じて過去の記事を参照してください。 必要な環境 Zend Frame
Zend Framework勉強会#2 はGMOペパボ株式会社様の協力もあって、盛況でしたが、どうもZend_Dbに関して誤解があるような気がしているので(私も含めて)一通り確認してみようというフォローアップ記事です。 Zend Frameworkで対応しているモデル構成は、ドメインモデル+サービスレイヤーで直接的にはデータマッパーです。 CakePHPでは標準ではActiveRecordを採用していると思いますが、ここがCakePHPやsymfonyで学習してきた人が一番最初に戸惑う部分ではないかと思います。また、初学者がデータマッパーの意義をいきなり理解するのは難しいような気もします。 要は、多くの初心者が“モデルって、DBテーブルのことだよね”と考えてしまうのはよくない、と。結果的にコントローラがふくれあがり、UnitTestで影響が出てしまう、という話になっています。 - Cake
3. Zend_Db_Tableを拡張した理由■Doctrineの使い勝手を調査して、使い方を知る機会が あった■社内にてZendFrameworkの使い方を説明した際に 覚えることが多いという意見をもらったことこれより、Zend_Db_Tableを拡張することで、利用する際に覚えることを少なくし、より直観的に使えるようにできると考えました。 4. Doctrineを調査した結果■ 便利だと思ったことrecordクラスをnew して設定するだけで、insertできる(TableクラスからcreateNew()しなくていい。1レコードを扱う際に意識するのはレコードクラスのみ。) $category = new Category(); $category->name = “hogehoge”; $cateopry->save(); 5. Doctrineを調査した結果■ 便利だと思ったこと
http://events.php.gr.jp/events/show/91 昨日はお疲れさまでした。懇親会は・・・*1 ベストコンディションで挑むことができず、来ていただいた皆様に申し訳なく思っております。体調はベストではなかったですが、自分としてはベストを尽くしたつもりです(何やそれw 説明が不足していた部分は、自分用としても文書化が必要だと思っているので、少しずつ分割してまとめを更新していきたいと思っています。 特に、サービスレイヤーでのアクセス制御については、今後も普及してもらいたいなぁと思っているのでしっかりまとめなおしたいと思っています。 デザインパターンでリファクタリングしている部分はもう少し前提となる挙動をじっくり説明したかったのですが、実演できるハンズオン形式でないと更新コストとかメンテナンス性がどうして向上するのかまでは踏み込めないですね。デザインパターンのメリットをも
以前の記事で話させていただくチャンスがいただけたので、しゃべってきました。 で、しゃべった内容は続きからどうぞ! 初めてのTwig+ZendFrameworkView more presentations from Nul ly. しゃべってきたのは良いのですが、話すスピード速い&URLガン無視して申し訳なかったです…。 懇親会も参加させて頂き、すごく楽しかったです。 やっぱり、いろいろな人と接することができるってのは良いことだと再実感。 Share this on del.icio.us Digg this! Stumble upon something good? Share it on StumbleUpon Post this to MySpace Share this on Facebook Tweet This! Subscribe to the comments for th
概要 † Zend Framework のビュースクリプトを楽に書けるようにするコンポーネントです。 $this->foo でなく $foo と書くことで変数の値を参照できます *1 <?= ... ?> で囲まれた範囲は、自動的に HTML エスケープされます つまり、標準の Zend_View のビュースクリプトでは、 <?php echo $this->escape($this->foo) ?> のように書かなければならないところを、このコンポーネントを使えば、 <?= $foo ?> のように書くことができます。 Zend_View_Abstract クラスを継承しているので、Zend_View のメソッドやヘルパーもそのまま使えます。 ▲ インストール † アーカイブをダウンロードし、 include_path の通ったディレクトリで展開して下さい。 (Phtmlc/libra
Zend_Applicationはフレームワークの設定と主要インスタンスの管理に使いますが、今のところモデル用のリソースがありません。 PHP製のシンプルなDIコンテナ"yadif"は設定によるオブジェクトの生成と管理が可能で、モデルの管理にも適します。ここでは、yadifを利用してサービスリソースを作成し、アプリケーションからモデルにシンボル名でアクセスできるようにします。 Zend_Applicationでのリソースの作成その他については、公式マニュアルに十分な解説がありますが、こちら(Zend_Application (5) 実戦的使い方 - noopな日々)でも書きました。 Yadif - Yet Another Dependency Injection Framework を使う GitHub - tsmckelvey/yadif: Yet Another (PHP) Depen
Zend_Tool_Framework でManifestとProviderを書いてDoctrine_CliへZend_Applicationで書いたDoctrineリソースを流して自作Doctrine_Taskを実行ってのをやってます。Provider便利! http://twitter.com/noopable/status/7699696818 こんなことをつぶやいてしまった関係で、補足しておきたいと思います。 Zend_Tool_Frameworkの便利なところ コマンドライン引数をオプション形式(GetOpt)で指定できる 必須オプションが漏れているときは、インタラクティブなプロンプトで入力を促してくれる オプションの指定に1文字の短い形式が利用できる 情報の取得元に、.zf.iniやマニフェストから設定を取得できる 簡単な入力ヘルプを自動育成してくれる といったところです。 似
はじめに 本連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介していきます。今回は、ウェブページへのリンクを管理するためのモジュールであるZend_Navigationについて紹介します。Zend_Navigationを利用することで、メニューや特定のページへのリンクを作成や管理を行うことができます。 対象読者 PHPの基本構文は一通り理解しているが、フレームワークを利用したことはないという方を対象としています。 必要な環境 Zend FrameworkはPHP 5.2.4以降とWebサーバがインストールされている環境で利用可能です。本稿ではWebサーバとしてApache 2.2を、OSにWindows XPを採用し、アプリケーションを作成していきます。 以下に、今回アプリケーション作成/動作確認に用いた環境を示します(インストールにあ
本連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介していきます。今回は、Zend Frameworkの1.8から導入されたRADのツールのコマンドラインインターフェイスを提供しているZend_Toolモジュールの紹介をします。 はじめに 本連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介していきます。今回は、Zend Frameworkの1.8から導入されたRADのツールのコマンドラインインターフェイスを提供しているZend_Toolモジュールの紹介をします。 Zend_Tool自体は汎用的なツールを書くための枠組みになっていますが、現段階では、コマンドラインからZend Framework MVC プロジェクトを管理するための機能だけが組み込まれています。今回の記事では、このプ
Zend FrameworkのMVCで多様化しがちなビューを実現するには、Viewスクリプトは表示用テンプレートではなく、Viewをつかさどるコントローラー的に実装し、表示をフォーマットするためのテンプレートは別に用意したほうがいいのではないか。 多様化するビュー 一般的なWebフレームワーク同様、ZFのデフォルトのMVCではビュースクリプトをテンプレートとして扱うことが多いと思います。しかし、近頃のWebアプリケーションでは、さまざまなクライアントに対応しなければならないケースが多く、デバイスの違いや、使用するブラウザやRIAクライアントなどの違い、ユーザーステータス、表示アイテムのステータス毎の見栄えの調整など、ビジネス上のプレゼンテーションロジックもビジネスモデルに依存した多様なビューを必要としがちです。また、最近ではデスクトップアプリ並のインタラクティブ性を求められており、それらの
さて、かなり気になっていたZend_Tool関連のお話です。 CakePHPにはbakeというコマンドがありますが、Zend Frameworkはzfコマンドが使えるようになったようです。(といってもかなり前から・・・私がいかにZendFrameworkサボっていたかがわかってしまいます・・・) http://framework.zend.com/manual/ja/zend.tool.framework.clitool.html ↑のマニュアルを参考にしました。 phpがインストールされていて、ZendFrameworkソースファイルを取得していることを前提に進めます。 ちなみに私はmacportsのphp5をインストールしています。 ZendFrameworkは/projects/zf/library/Zend/となるように置いています。 まず、
はじめに 本連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介しています。今回から数回に分けて、Zend Frameworkの1.8から導入されたRADのツールについて説明していきます。 RADは「Rapid Application Development」の略で、プロトタイプを作成していきながら必要な機能を加えていくソフトウェア開発手法を指します。多くの場合には開発環境を利用し、コードなどを自動生成することで開発を迅速に行えるようにします。 今回から紹介するRADツールは、このうちのコードの自動生成などをコマンドラインから行うためのツールです。例えば、本連載の記事についてきたサンプルですが、毎回似たようなディレクトリ構造やファイルがありました。これまでは、(建前としては)いちいちそれらを作り直していたわけですが、今回から紹介するZen
タスク管理のWebアプリケーションは多数存在する。個人的にはタスク管理を諦めて久しいが、これだけ多数出てくるということはそれだけ需要があるということだろう。また、画期的なキラーアプリケーションが存在しないのかもしれない。 タスクリスト Webベースで使いたくても、データはよそに預けたくない。でもWeb APIを使って拡張を…なんて考える方はdodoを使ってみよう。 今回紹介するフリーウェアはdodo、PHP製のWebタスクアプリケーションだ。ソースコードは公開されているが、ライセンスはオープンソースではないのでご注意いただきたい。なお、商用利用も個人利用も可能だが、画像やロゴ、dodoという名前を利用してはいけないとのこと。 dodoはよく出来たタスク管理アプリケーションで、そのままWebサービスになっていてもおかしくはない出来だ。機能的にもデザイン的にもよく出来ている。タスク管理はシンプ
Polley Wong translated Zend Framework's dispatch process into an easy-to-read workflow diagram. Stepping through the critical steps of the dispatch process, you'll understand the relation between Front Controller, Dispacther, Helper, and Broker. You'll also have a good picture of what role they play and why they are there.
1铁拳2形意之惊魂记3狂野飞车4Z岛5飞虎狂龙6秘密特工7会计刺客8侦探拍档9死亡之拳10古城传说11毁灭者12终结武器13甲洞214狗咬狗15逃出无人岛16请叫我英雄17富有的人18赏金猎人韩版19第四帝国的黎明20冬荫功2:拳霸天下21印第安纳波利斯号:勇者无惧22黑暗复仇23猎灵师之镇魂石上24捕快:血之刃国语版
キーボードを、持ち歩く。 久しぶりに、スマホ用のキーボードを使ってブログを書いている。 いくつかキーが壊れてしまっているので買い替えないといけないのだが、壊れるくらいには使い込んでいたんだなと思った。 当時は、今のようにPCを普段から持ち歩くことが少なかったので、出先でもブログ…
コントローラーががんばりすぎる設計(Fat Stupid Ugly Controllers)に対するアンチテーゼとして出てきた話、"Skinny Controller, Fat Model" 元ネタ 元はこのブログ記事Buckblog: Skinny Controller, Fat Modelらしいですが、元ネタの元はこれ?http://www.amazon.com/Fat-Stupid-Ugly-Courage-Survive/dp/0757302254 さらに、http://www.survivethedeepend.com/zendframeworkbook/en/1.0/the.model#zfbook.the.model.the.fat.stupid.ugly.controllerここでも語られていました。 それが推奨される理由として、 FSUCに傾倒する理由として、コントローラ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く