CakePHP 2.0 RC3でブログのサンプル、ACLを設定した後に、各コントローラーでアクセス権限をViewのテンプレートファイル内(View/Posts/index.ctpなど)でチェックするためのコードメモです。
ブログのサンプル、ACLについてはCakePHPマニュアルページの中にあるチュートリアルを参考に設定してみました。(ACLチュートリアルの説明は難解ですね。かなり苦戦しました・・・。)
CakePHPブログチュートリアル(英語)
ACL を制御するシンプルなアプリケーション(英語)
チュートリアルで作成したブログのコントローラ「PostsController.php」のbeforeFilter()の中に下記のコードを記述することで、閲覧しているユーザーのアクセス権限をチェックし、「create」「read」「update」「delete」の各アクションの権限の有無を配列にして、Viewへ渡すデータにセットするようにしています。
|
function beforeFilter() { $acl = array(); $action = array('create', 'read', 'update', 'delete'); foreach ($action as $value) { $acl[$value] = $this->Acl->check($this->Auth->user('username'), 'posts', $value); } $this->set('acl', $acl); } |
Viewのテンプレート上では次のように利用できます。
|
if ($acl['create']) { echo $this->Html->link('Add Post', array('action' => 'add')); } |
ユーザーの権限によって、編集や削除のリンクを、表示/非表示にしたい場合などに使えるかなと思います。
他にもっと良い方法があるかもしれませんが・・・。
Espressoのメジャーアップグレードとなるバージョン2.0が登場しました。
今回のバージョンアップでの大きな特長は、CSSEditが統合されたことでしょうか。CSSの編集がグラフィカルになり、より快適になっています。
(それにより、CSSEditの販売・開発は終了してしまったようですが・・・)
インターフェースは前バージョンからそれほど変わっていないようですが、OS X Lionになった今でも非常に美しく感じます。
競合製品であるCodaと、どちらを使うか悩むところではありますが、ビジュアルブルでリッチにコーディングをしたいならEspressoを、効率を重視するならCodaと、その時々で使い分けるのもよいかもしれません。
価格は新規購入の場合$79、アップグレードは2009年4月10日以降の購入者は無料で、それ以前の購入者は$29となっています。
MacRabbit
先日、新バージョンとなるVMware Fusion 4が登場したので、早速アップグレード。
大きな特長としては、Lion環境への最適化、パフォーマンスの向上、あとLionを仮想マシンとして実行できるようになりました。
しばらく使ってみた感じでは、Lion環境に合わせたUIの改良は、なかなか好印象です。パフォーマンスに関しては、仮想マシン上では重い処理を実行しないので、正直前バージョンからの違いは分かりませんでした。
気になる点としては、Fusion自体の起動速度が遅くなってしまったような感じがします。
通常、管理画面で作成したメニューはブロックを使うことで割り当てられた場所に配置ができますが、テンプレート内に直接追加することもできます。
|
<?php print theme('links', array('links' => menu_navigation_links('menu-custom'), 'attributes' => array('class'=> 'custom'))); ?> |
上記では「menu-custom」という名前で作成したメニューを、テンプレートファイル「page.tpl.php」に追加することで、カスタムに表示することができます。
昨日発売されたOS X Lionを、メインマシンとして使っているiMac(Early 2008)にインストールしました。
本当はサプのノートにインストールしたかったんですが、初期のMacBook(Early 2006)でCPUが対象外でした・・・。
インストールは既存のSnow Leopardを上書きするかたちで、ガイドに従って行いました。所要時間はおよそ40分でした。
一番心配していた普段使っているアプリケーションとの互換性ですが、今のところ特に問題はありません。「Coda」「ForkLift」「Path Finder」「QuicKeys」「LaunchBar」など、正常に動いています。(僅かに表示がおかしかったりしますが)
OSのメジャーアップグレードで、これほどスムーズに移行できるのは、よくよく考えてみるとすごいことですよね。