サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
pluto-blog.blog.so-net.ne.jp
今回はControllerの続きと言うことで、リクエストとレスポンスについてやります。 マニュアルでは4.1.2、4.1.5になります。 リクエストについて リクエストオブジェクトは、フロントコントローラやコントローラクラスなどの間でやり取りされる情報を扱うオブジェクトです。 この中にはコントローラ、アクション名やHTTPの環境なども含みます。 リクエストオブジェクトを扱う時は、Controllerの「getRequest」メソッドを使います。 $req = $this->getRequest(); ここからリクエスト情報を取得する場合は、「getParam」メソッドを使用します。 $test1 = $req->getParam('text1'); メソッドには取得したいリクエストのキー名を渡します。 上の例の場合、リクエストの「text1」の値が取得され、$test1に設定されま
前回の続きで、参照系(Select文)についてやります。 マニュアルでは5.3からです。 最初に今回参照するテーブルのデータについて。 「test」テーブル概要(作成用SQL) CREATE TABLE 'test' ( 'id' TINYINT( 2 ) NOT NULL , 'name' VARCHAR( 20 ) NOT NULL , 'text' VARCHAR( 100 ) NULL , PRIMARY KEY ( `id` ) ) データ id(key)nametext 1hogeaaaaa 2foobbbbb 3nyogeabcde 4hogege[ null ] 5bar[ スペース ] また、サンプルで登場する$dbには、DB接続オブジェクトが設定されているとする。 以上の前提条件を踏まえて、参照系について説明します。 基本的な参照の仕方 Zend_Dbを使いSel
前回の続きということで、DBのトランザクション、およびDBの更新系処理について。 マニュアルでは5.1.4からです。 トランザクション処理 トランザクションは、データの整合性を保つために必要不可欠な機能である。 Zend_Dbではトランザクション処理を明記しない場合は、 「自動コミット」モードという動作をしてしまう。 そのため、前回のDB編1で行った「query」メソッドでSQLを実行する場合、 SQLにUpdateやDeleteを行った場合に自動的にコミットされDBに反映されてしまう。 これだと多数のアクセスが同時に行われる可能性があるシステムの場合、 データの不整合が生じてしまう可能性があるので、 その対策としてZend_Dbでは、トランザクション機能が提供されている。 (※正確にはDBMSのトランザクション機能を使用しているので、機能が無ければ使えない) トランザクショ
Zend Frameworkを使ったDBの制御方法について。 まぁとりあえずって事で、 DBにMySQLを使って、DBの制御とトランザクションを行う方法についてまでやります。 マニュアル では5.1からです。 Zend_DBについて PDOに基づいたデータベースAPIの抽象化レイヤー。 サポートしているDBMSは、「SQL Server」、「MySQL」、「PostgreSQL」、「SQLite」 など。 ただ、マニュアル5.1.1には書いてないけど、「Zend/Db/Adapter」ディレクトリを見ると、 「Oracle」や「DB2」のディレクトリが用意されているので、おそらく使えるっぽい。 ただ、「Pdo」ディレクトリには「oracle(oci.php)」しかないので、「DB2」は他と違う使い方になるかも。 DB接続 DBの接続はZend_Dbクラスの「factory」メ
かなり昔、勉強会用にZendFrameworkについて書いたけど、 知らない間に1.0がリリースされて結構かわったみたいなので、 Macで開発環境を作ったついでにZendFrameworkを動かしてみる。 ZendFrameworkについて 一度いろいろ調べたけど、改めておさらい。 PHP5専用 MVCモデル PHPを作っている会社が作っている Zend Core(2.0〜)に入ってる。Zend Studio(5.5〜)にも対応。 拡張しやすい(らしい) symfonyやcakeのような、コードの自動生成はない PDOに対応(でも Oracleへの対応は微妙らしい・・) 日本語ドキュメントが豊富 書籍も出たらしい(読んでないけど・・) インストール まず、ダウンロードにする前に、受け元のディレクトリを作っておく。 自分の場合は↓な感じで作成。 htdocs/ php_includ
無事に導入できたので、次はとりあえず動かしてみる事にする。 このあたりはチュートリアルで書かれている内容です。 Zend Frameworkの実行は、 ブラウザ → フロントコントローラ → アクションコントローラ → アクション の順番で動くので、まずはフロントコントローラを作成する。 フロントコントローラについて Zend Frameworkの元となるコントローラ。 全てのリクエスト処理し、最終的にアクションコントローラへ委譲する。 またURIを判定し、呼び出すアクションコントローラの選択を行う。 (※URIの判定・分解は、正確にはZend_Controller_Routerで行っている) 判定は以下の様に行われる。 http://[ ドメイン名 ]/[ コントローラ名 ]/[ アクション名 ]/ 例えば、「http://mydomain.com/test/hoge/」という
最近、自宅のマシンがWindowsからMacになったので、 Mac用に新しく作った開発環境の作り方の備忘録として。 MAMPの導入 PHP、apache、MySQLなどを単品で入れるのは面倒なので、 Mac用開発一括パッケージであるMAMPを使う。 http://www.mamp.info/ja/home/ MAMPに含まれるソフトは以下の通り。 ・Apache 2.0.59 ・MySQL 5.0.33 ・PHP 4.4.4 & 5.2.0 ・eAccelerator 0.9.5 ・phpMyAdmin 2.9.2 ・Zend Optimizer 3.2.2 ・SQLiteManager 1.2.0 ちなみにこれらソフトのバージョンは、2007年8月にDLしたMAMPでのバージョン。 正式なバージョンは、入れ終わった後に見れるMAMPのスタートページのFAQを参考に。 他の有名な開発一
あると何かと便利なバージョン管理のSubversionを導入してみる。 Subversionの導入 Subversionについて詳しくはwikiを参照。 http://ja.wikipedia.org/wiki/Subversion インストール まず以下のURLからパッケージをダウンロード。 http://downloads.open.collab.net/binaries.html ちゃんとMac用になっているので、ダウンロードして解凍した後は、 インストーラーの指示に従えば簡単にインストールできるハズ。 環境パスの設定 インストールしても、そのままでは利用できないので、 利用できるように環境パスを設定する。 普段利用するユーザのディレクトリ直下に「.bashj_profile」を 作成(既に存在する場合は追記)して、以下の内容を記載。 PATH=/usr/local/bin:$
今回はZend_Viewに別テンプレートエンジンを組み込む方法について。 マニュアルでは18.3.2からです。 マニュアルによると別テンプレートエンジンを組み込むには、 ビュースクリプトを使う方法と「Zend_View_Interface」を使う方法の2つが紹介されているが、 ビュースクリプトを使う方法がどうもうまく動かないので、 今回は「Zend_View_Interface」を使う方法を取り上げてみる。 「Zend_View_Interface」を使い他のテンプレートエンジンを利用する 組み込んでみるテンプレートエンジンはおなじみのSmarty。 ちょうどマニュアルの18.3.2.2にSmartyを利用するためのラッパークラスのサンプルが乗っているので、 おぉこれは楽だ!と言う事でサンプルを利用してやってみる。 ・・・動かん。 って、よく見たらコンパイルしたテンプレートの
このページを最初にブックマークしてみませんか?
『pluto-blog.blog.so-net.ne.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く