表目次 2.1. サンプル CMS 用のアクセス制御 3.1. 設定オプション 3.2. サーバのオプション 3.3. デバッグメッセージ 3.4. Active Directory 用のオプション 3.5. OpenLDAP 用のオプション 4.1. Core フロントエンドのオプション 4.2. Function フロントエンドのオプション 4.3. Class フロントエンドのオプション 4.4. File フロントエンドのオプション 4.5. Page フロントエンドのオプション 4.6. File バックエンドのオプション 4.7. Sqlite バックエンドのオプション 4.8. Memcached バックエンドのオプション 4.9. Xcache バックエンドのオプション 4.10. TwoLevels バックエンドのオプション 6.1. Zend_Config_Ini コン
Zendを使っていて、 Zend_File_Transfer_Adapter_Httpでファイルをアップロードするとき、 $adapter->addValidator('MimeType', false, array('image/gif', 'image/png', 'image/jpg', 'image/jpeg', 'image/pjpeg', 'image/x-png')); // jpg, png, gif こんなんとか、 $adapter->addValidator('IsImage', false); こんなんとかを使ってMimeTypeのチェックをしようと思ったが、なぜかうまくいかない。 見ると、 Zend_Validate_File_IsImage::NOT_DETECTED のエラーを吐いてる。 どうやらmimetypeが取得できないみたい。 コードに問題はなさそうだし
Oops! This is awkward. We encountered a 404 Not Found error. You are looking for something that doesn't exist or may have moved. Check out one of the links on this page or head back to Home.
If you have a JIRA/Crowd account, we suggest you login first before commenting.
controllerの中なら、 $bootstrap = $this->getInvokeArg('bootstrap'); で取得できる。 modelとかの中でも $bootstrap = Zend_Controller_Front::getInstance()->getParam('bootstrap'); で取得できる bootstrap取得して何をするかというと、application.iniで設定したリソースを取得できる。 例えば、multidbリソースを使ってたとすると $bootstrap->getPluginResource('multidb')->getDb('hoge1'); みたいに、hoge1 DBへのDBアダプターが取得できる。 このアダプターを、各テーブルクラスのコンストラクタで、テーブルのアダプターとして設定してあげると、普段Default_Adapterを設
Zend FrameworkのO/RマッパーでもあるZend_Db_Tableを使ってテーブルの連結を行う。 商品テーブルと関連テーブルを連結して、関連商品を取得するサンプル。 <?php // 商品テーブル class ItemTable extends Zend_Db_Table_Abstract{ protected $_name="item"; protected $_primary ="item_id"; } // 関連づけテーブル class ItemRelationTable extends Zend_Db_Table_Abstract{ protected $_name="item_relation"; protected $_primary ="relation_id"; // 関連テーブル protected $_referenceMap = array( "Item"
オデの日記@WEB系: Zend_Db_Table_AbstractでZend_Cacheを利用して負荷軽減 で、このZend_Db_Tableですが、生成する度にdiscribetable()というメソッドが呼ばれテーブル情報を取得します。とても便利なのですが、都度DB接続が行われ非効率すぎるのでZend_Cacheを利用してデータをキャッシュさせておきます。 discribeTable()が走るタイミングは ・insert() ・find() ・info() を呼んだ時だそうです。 というわけでキャッシュを組み込みましょう。 [php] $frontendOptions = array( ‘automatic_serialization’ => true ); $backendOptions = array( ‘cache_dir’ => TMP_PATH ); $cache = Ze
超便利なのに、使っている人が少なそうな(2008.06.01現在)Zend_Cacheを紹介するよ。 ■Zend_Cache の概要 Zend_Cacheで簡単にコンテンツをキャッシュするという話。この辺りから、Zend Framework(以下、ZF)を好きになってきたよ。 Cache の仕組みは簡単。 1. 何をキャッシュするか(FrontEnd) 2. どこにキャッシュするか(BackEnd) をまず決めよう。これは下記の例から好きに組み合わせて使うことができる。 FrontEnd(キャッシュするデータ) の例 Core PHP上の変数に格納するようなあらゆるデータ Output PHPの出力データ(標準出力を横取りしてくれます) Function 関数コールの結果 Class オブジェクト及びスタティックメソッドのコール File XMLなどの外部ファイルで指定された設定ファイルの
Zend Frameworkを使って開発を進めていくと、利用するコンポーネントが増えていくにつれて、アプリケーションのINIファイル(一般的に使われているapplication.ini)の内容が膨らんでいきます。特にZend Frameworkのバージョンアップに伴って、Zend_Applicationから利用できるリソースプラグインの種類が充実していくので、ソース中にハードコーディングしていたような環境依存パラメータは、どんどんINIファイルに移行するようになっていきます。application.iniファイル内では、できるだけリソース毎にまとめて書くようにしていますが、INIファイルをリソース毎に分けて管理できないものかと思っていました。 Zend_Applicationクリックスタートにあるように、 zf create project h2plus と、Zend_Toolを使ってプ
Zend_Version 1.9.4。 Bootstrap周りの処理の流れを簡単に..... まず、Bootstrap内の _initXXX メソッドが全部実行される。 戻り値のオブジェクトはコンテナに保存される。 (図中では __set() と表記) その後、Resourceプラグイン( Zend_Application_Resource_XXXXX )のinitメソッドが実行される。 みたいな流れ。 リソース名は _initXXXX のXXXX 部分と application.iniの resource.XXXX. で対応してるみたい。 読み込まれる Resourceプラグインも resource.XXXX にかかれているパラメータと同じ名前のクラスを探している。 結局、初期化の順番は 1.Bootstrap::_initXXXX どの _init メソッドから呼ばれるかは get_c
Zend Frameworkを使って 認証前のユーザを自動的にログインページにリダイレクトする 処理はController_Pluginを作ってやるのがZFでは一番スマートぽい。 TomatoCMSもDigitalusもOmekaもZFPlanetもそうしてた。 ということで、自分もpluginを作ってみました。 要件 認証に関する設定は、application.iniに書けるように 認証が必要なものはだいたい、URLがadmin/以下のものだからRouterで認証が必要なものを設定できるにする とはいえ、admin/以下でも例外的に外したいものもあるかもしれないのでその辺も指定できるように。 認証後、認証前のURLに戻れるようにリクエスト値は保持しておく という要件を満たせるように作りました。 Controller_Plugin_Auth クラス <?php /** * Relish
Zend Framework 1.8以降を使う場合は Zend_Applicationを使った構成にしてアプリを作るのが推奨されています。 でもまだまだその辺の情報が少なく、実際やり始めると結構ハマります。 自分は結構ハマりました。 なので、自分が参考にしたソースなどを以下にまとめておきます。 Zend_Applicationを使うときに参考になるソース Tomato CMS Zend Framework 1.10.0をベースに作られている。(2010.06.30時点) Omeka Zend Framework 1.9.7をベースに作られている。(2010.06.30時点) Digitalus Zend Framework 1.8.2をベースに作られている。(2010.06.30時点) 上記三つはかなり有名所のCMSだと思いますので 細かい説明は省きます。 ZFEngine どのバー
Zend_Application は DI コンテナで高度に抽象化された (ry オフィシャルのドキュメントでは設定ファイルに依存するような値を書いて、 Zend_Application を生成する際に設定ファイルを渡してやってる。 ディレクトリ構成は以下のような感じにしたい。 app |-- Gene.php |-- configs | `-- app.ini |-- modules | `-- index | |-- controllers | |-- services | `-- models |-- layouts |-- locale `-- views |-- helpers `-- scripts `-- index `-- index `-- index.phtmlブートストラップ自体は library の下に Gene_Bootstrap と置く事にして、 Gene.ph
13. 疑似ロール(CURRENT_USER)構成@singleton Current_User$user = Current_User::getInstance();$roles = $user->getRoles();$acl->addRole(CURRENT_USER,$roles);チェック$acl->isAllowed(CURRENT_USER, $resource, $priv); 15. Assertionの仕様http://framework.zend.com/manual/ja/zend.acl.advanced.html#zend.acl.advanced.assertionsZend_Acl_Assert_Interface// @return boolean functionassert(Zend_Acl $acl,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く