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のメジャーアップグレードで、これほどスムーズに移行できるのは、よくよく考えてみるとすごいことですよね。