2007年01月25日

IRC Log Site のソースコード

IRCでの会話のログは下記から参照できます。
http://irc.cakephp.org/

が、実はこのサイトのソースも公開されているんですね。今の今まで気が付きませんでした。

http://irc.cakephp.org/pages/source
アーカイブ検索系のサイトを作るときには参考にできるかもしれません。
ラベル:IRC ソースコード
posted by SDozono at 13:43| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2007年01月16日

cakephpinfo() !

Japanese baker, Shin made a nice "cakephpinfo()" file.

display Cake information like phpinfo() - cakeinfo
http://www.1x1.jp/blog/2007/01/cakephp_cakeinfo.html

You can check the display image from here. (Cheesecake Photoblog)

cakephpinfo.PNG

1) download zip.file from
http://www.1x1.jp/blog/download/cakeinfo-0.1.0.zip
(CakePHP >= 1.1.11)

http://www.1x1.jp/blog/download/cakeinfo-0.1.1.php
(Updated: For CakePHP without Configure::version()/ CakePHP >= 1.1.7)

2) Unpack it and place to app/webroot/

3) You can access cakeinfo by
http://cake_path/cakeinfo.php

4) There is a option:
//define('DATABASE_CONFIG_FLAG', true);

He is using an interesting function:

function _getClassDiffValues(&$baseVars, &$classVars) {
$array = array();

foreach ($classVars as $name => $var) {
if (@$baseVars[$name] !== $classVars[$name]) {
$array[$name] = $this->_arrayToString($var);
}
}

return $array;
}
posted by SDozono at 11:23| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2007年01月04日

Windows上のXAMPP構成で bake.php を使う場合

そういえば、Windows上の XAMPP の上で bake.php を使ったことがありませんでした。(これまではApacheとMYSQLを個別にインストールしていました。)今回、マシンを新しくしたので、Apache,MYSQL,PHPをまとめてXAMPPでインストールしてみました。

XAMPPのインストールの説明記事など。
http://phpspot.net/php/pgXAMPP.html

でも、考えてみるとXAMPPの場合には、PHPのパスがかなり深いところにあることになり、DOSプロンプトから bake.phpを実行させるのは結構めんどうです。

以下は、bake.php を簡単に使えるようにするための Tips です。

【1】エクスプローラから右クリックで「DOSプロンプト」を出す

これは、「窓の手」で簡単に設定できます。

「窓の手」公式サイト
http://www.asahi-net.or.jp/~vr4m-ikw/
こちらからダウンロードし、実行してみます。
[右クリックメニュー]というタブをあけると、「任意のフォルダーからコマンドプロンプトを可能にする」というところがありますので、ここにチェックを入れます。
[設定反映]を押せばそれで設定完了。次回以降、エクスプローラを立ち上げると、右クリックでDOSプロンプトが出るようになっています。

でもこれだけではだめです。CLI版(DOSプロンプトから実行させるためのPHP.exe)を呼べるようにしなければなりません。

【2】環境変数PATHにphp.exe のパスを登録してしまう。

[スタート]→[コントロールパネル]→[システム]→[詳細設定]→[環境変数]と進みます。
[システム環境変数]というところを見てゆくと、Pathという変数が見つかります。これを選択して、[編集]ボタンを押してください。

そして、この行の最後に、

;c:\Program Files\xampp\php

と追加します。(インストール先を変更した場合にはそのパスを登録)[OK]を押して終わりです。

これで設定は終わりです。【1】も【2】も、再起動などは特に必要ないと思います。コマンドラインから実行するPHPファイルのある任意のフォルダで、DOSプロンプトを開いてみてください。

>php -v
とやって、PHPのバージョン情報が表示されたら無事に設定がすんでいます。

bake.phpのあるフォルダに行って、そこから実行させることが可能になります。
ラベル:cakephp xampp bake.php
posted by SDozono at 20:57| 東京 ☁| Comment(0) | TrackBack(1) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年11月13日

bake.php on windows (1.1.10.3825)

下記のスレッドが珍しく20通を突破しています。Cake に来る前に Symfony のサイトに行った人がほとんどだと思いますし、PRADO もかなり興味深いフレームワークなので、みんなが関心のある話題なのだと思います。

Cake PHP Vs Prado Vs Symfony
http://groups-beta.google.com/group/cake-php/browse_thread/thread/1820ed4458d58fd7/

PRADO も良いフレームワークだと思うんですが、イベントドリブンの開発をしたいのであれば、ASP.NET がやはり完成されたIDEもある分、有利になるのかなぁと思います。それに、ASP.NET で満足できなかった人が PHP に来たりするので、やはりそういう人にとっては Cake のほうがよいと思います。

で、bake.php に関してですが、やはり開発チームは Linux 上での作業みたいですね……。

---------------------------------------------
bake.php on windows (1.1.10.3825) Path Error

Windows上でパス指定がうまくいかない、という問題が 1.1.1.3825 にあるようです。これで 1.1 系は frozen されたということですが、このままでしょうか……。

"/" -> DS(ディレクトリセパレータ)

とすれば直る、単純な間違いのようです。

Shin x blog さんのところでパッチを公開されています。
http://www.1x1.jp/blog/2006/11/cakephp11103825_bake_patch.html
ラベル:cakephp bake
posted by SDozono at 23:42| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年10月12日

Scaffolding and Decorating your web app with CakePHP

(Shunro Dozono / http://www.cba-japan.com )

(1)You can download 'decorate.php' from
http://cakephp.jp/decorate.zip
http://cakeforge.org/projects/decorate/
copy it to cake/scripts

copy_it_to_scripts_folder.PNG


(2)Set your DB-table

set_your_database_table.PNG

(3)Start baking [decorating] by using Windows Command Prompt.

prompt> your_php_path\php.exe path\decorate.php

start_decorate_script.PNG

(4)Script will bake all the files for you.

baked(decorated)files.PNG

(5)Goto http://localhost/cake/TABLENAME

baked_application.PNG

(6)CRUD (Create, Read, Update, Delete) features

crud(create).PNG

(7)CakePHP can handle "table associations"!

table_associations.PNG

(8)Complex Sorting feature

sorting.PNG


(9)Filtering(Search) feature

search_filtering.PNG

(10)You can make your own "template" design files. or you can download from
http://cakephp.seesaa.net/article/20355864.html

If you just drop your template file to "layout", it will be...
templates.PNG

(11)If you want "login" feature, CakePHP has already various types of authentification.

http://manual.cakephp.org/appendix/simple_user_auth

or if you just need only one username and password, you can download sd_auth from
http://cakeforge.org/snippet/detail.php?type=package&id=20

just "drop" the sd_auth file to app/controllers/components, and thtml desing file to app/view/layouts/. then,

Add following lines to app_controller.php(Copy from /cake to /app).

class AppController extends Controller {

var $components = array('SdAuth');

function beforeFilter()
{
// Auth Check.
if($this->SdAuth->isloggedin() == FALSE){
$this->layout = "login";
} else {
$this->layout = "default";
};
}

}


login.PNG
posted by SDozono at 05:43| 東京 ☁| Comment(6) | TrackBack(2) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年10月11日

CakePHP + [LIKE phpMyEdit] = decorate.php

phpMyEdit は本当によくできたソフトだと思います。WEBのGUIからちょこっと設定するだけで、Config 形式の設定ファイルができて、phpMyAdmin ばりのDBテーブルエディタがあっという間に使えるようになります。

自分のプロジェクトでしばらく使用していたのですが、いかんせん、MVCに分かれていないことから、少しつっこんだことをしようとすると難易度が上がる、ということを経験していました。

今回、CakePHPですべてを面倒見れるようにしようと思い立ち、CakePHP のbake.php をごりごりと拡張したので公開します。
(CakeForge に移行しました。)

http://cakephp.jp/decorate.zip
http://cakeforge.org/projects/decorate/
Screenshots: http://cakephp.seesaa.net/article/25299712.html

使い方は、bake.php とまったく同じです。データベースを指定すると、複合ソート/検索(フィルタ)/ページネーション、などがはじめからくっついた画面を自動生成します。

バグも残っているかもしれません。なにぶん、さっきできたばっかりなので。バグ出し、機能改善提案など歓迎です。
ラベル:cakephp scaffolding
posted by SDozono at 02:41| 東京 ☀| Comment(2) | TrackBack(1) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年10月04日

CakePHPとi18n(多言語)

CakePHP は i18n を前面に出しているわけではありませんが、既に多言語サイト構築のノウハウが公開されているので紹介しておきます。

Wikiにある情報

Localeパッケージの使い方。
http://wiki.cakephp.org/tutorials:i18n
Translation2(PEAR)を使った方法
http://wiki.cakephp.org/tutorials:i18n_v2

プロジェクト
Localeコンポーネントを作るプロジェクトで、多言語サイトを作りやすくする、というもの。 GNU Gettext と PHP locale toolsを使う予定だそうです。
http://wiki.cakephp.org/tutorials:i18n_v2

ちなみにドイツ語圏の方たちは平気で英語で情報を発信していますね……。フランス語の人たちはフランス語のマニュアルが欲しくなるようです。中国語はブログによる情報発信が多いようで、日本では……。
ラベル:cakephp
posted by SDozono at 09:13| 東京 ☔| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年10月01日

CakePHP: Radio Buttons technique

*This is based on a discussion in cakephp.jp*

Did you try radio buttons in CakePHP Framework?
In a view.thtml, you can write such as:
echo $html->radio('Model/field', array('1'=>'option1''2'=>'option2'), null, array('onclick'=>'js_stuff'));



[check: http://groups.google.com/group/cake-php/browse_thread/thread/838c12d3bbeb873/]

But you may notice that you can not put radio buttons in horizontal order.

Then, try this:
add this code at the top of your .thtml.
<STYLE TYPE="text/css"><!--

input {

display:inline;

}

--></
STYLE> 



in cake.generic.css, the default is set as follows.
This affects the style of radio buttons.
------------------

input
textarea {

display:block;

}


------------------

or as another solution, you can try using <Table>Tags.


<table>

 <tr>

  <td>

   <?php echo $html->radio'Model/field', array( '1' => 'option1' ), null, array() ) 


  </td>

  <td>

   
<?php 
echo $html->radio'Model/field', array( '2' => 'option2' ), null, array() ) ?>

  </td>

 </tr>

</table>




ラベル:cakephp PHP framework
posted by SDozono at 00:20| ロサンゼルス 🌁| Comment(2) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年09月29日

CakePHPフレームワーク開発環境を1分以内で作る方法

「10分で作るCakePHPアプリ」が以前、話題になりましたが、今回のTipsを使うと、“5分で作るCakePHPアプリ”にまで短縮されるかもしれません。

なんと、まっさらなWindows-PCにダウンロード、解凍するだけで、即、CakePHPフレームワークによるWEBアプリ開発環境(Lighttpd+PHP+CakePHP)が構築できる、というものです。

その名もポッキー。

Pocky: CakePHP on a Stick
http://www.lokkju.com/blog/index.php/2006/09/28/pocky-cakephp-on-a-stick/

1)上記のURLから太字の“Complete”をクリックして、ダウンロード。
2)PCの適当な場所で解凍する。
3)解凍されて出来上がったpocky-start.bat をクリック。
4)どのCakePHPアプリを立ち上げますか?と尋ねられるので、1を押す。
5)インターネットエクスプローラから、"http://localhost:8080/"を開く。

これだけでWEBプログラムの開発環境が動き出します。
解凍されるとできるディレクトリ構成は下記のようなものです。

pockey.PNG

即席で開発環境やデモ環境を作りたい場合には非常に便利だと思います。ハイ。

このあと、日本語を扱えるようにいくらか細工しないといけないと思いますが、必要事項は下記あたりで参照してください。
http://cakephp.jp/modules/newbb/viewforum.php?forum=2

ひらめきあっ、そういえばデータベースソフトは、MYSQLじゃなくて、sqliteしか入っていないですね。う〜ん。1)MYSQLをインストールするか、2)以前からインストールしてあるMYSQLを使うか、3)自分がアクセスできるMYSQLサーバを使うかすることをお勧めします。
ラベル:cakephp PHP Windows
posted by SDozono at 12:11| ロサンゼルス ☁| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年08月29日

海外Google Group からの情報

Cakephp のドイツ語、ロシア語、スペイン語、ポルトガル語、中国語グループなどはぼちぼちと活動を始めているようです。やはり母国語でだれかに尋ねることができる、というのは大きいようです。

ちなみに日本語のMLも作成してみました。
関心のある方はご利用くださいませ。

http://groups.google.com/group/CakePHP-ja

海外Google Group での話題には、“英語以外の環境で使うには”という話題が流れることがあります。これはその一つ。

MySQL - правильные настройки.
http://groups.google.com/group/cake-php-ru/browse_thread/thread/84e44a55a3599dcb/

SET NAMES ... を設定する方法と、現在の状態を取得する方法について。

これは、フランス語グループの Ajax でメニューを作るサンプル
(英語に翻訳してあります。)

http://translate.google.com/translate?u=http%3A%2F%2Fgroups.google.com%2Fgroup%2FCakephp-fra%2Fbrowse_thread%2Fthread%2F4901756061aac28e%2F&langpair=fr%7Cen&hl=ja&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools

Google Group 自体に、“Google 翻訳”へのリンクを付けてくれないかなぁ。そのうちに付くだろうなぁ……。
ラベル:PHP cakephp Google Group
posted by SDozono at 10:49| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年08月25日

jQuery と CakePHP

jQuery
http://jquery.com/

の評判を cakephp でも聞くようになりました。

http://www.thinkingphp.org/2006/08/24/jquery-is-a-true-prototype-killer/

コメントには、
-------------
As far as CakePHP + jQuery integration, I’d be happy to promote this and donate any support possible to making this happen. We’re currently, also, working with two other PHP projects: Symfony and Drupal, trying to get jQuery integrated with their code base.
-------------
とあります。JavaScript & Ajax 関連についてはもう一つ、大きな波がくるかもしれません。

ラベル:PHP AJAX framework cakephp
posted by SDozono at 12:01| ロサンゼルス 🌁| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年08月24日

CakePHP 日本語情報ニュースリーダ

lilina という RSS ニュースリーダを使用して、cakephp 関連の情報を拾っています。

http://www.cakephp.jp/rss/

最新情報を知りたい方はどうぞ。
ラベル:cakephp PHP framework
posted by SDozono at 16:05| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年08月16日

改良はまだまだ進む。

1.2 に向けた改良を見ていると、まだまだアイデアは尽きていないようです。
モデルでエラーが発生した場合のコールバックや、ヘルパーのさらなる改良、ページネーションのフレームワークレベルでのサポートなどが既に作りこんであるようです。

IDE もWEBで統合できるといいかも!
Microsoft Office も WEB で動く時代だし。
ラベル:cakephp PHP
posted by SDozono at 10:06| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年08月09日

キャッシュ機構を使うと速度が数倍に

Cake にはキャッシュ機能があります。これは「毎回、アクセスがあるたびにデータベースに読みにいって、同じデータを繰り返し生成するのではなく、1度作成した“画面”を保存しておき、データベースに何も変更がなければ(また何も指示がなければ)保存したものをさっと返してスピードをかせぐ」という機能です。

Cake自体にこの機能が追加されており、利用するとかなりのスピードアップになります。ただ、まだ安定して使えるのかどうかは、まだよく分かりません……。色々、実験しているところです。

下記も参考になりました。

cakeのページキャッシュ機能を利用する
http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=88&forum=8

なぜか、マニュアルには、この肝心なところがまだ書いてないんですよね〜。
問題が生じたら、知っている人が伝えることで、コミュニティとして解決できるとよいと思います。
posted by SDozono at 22:53| ロサンゼルス ☁| Comment(0) | TrackBack(1) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年07月28日

ディレクトリ構造2(つぼを知る)

Wikipedia によると、ツボ(経穴)とは、『ツボと呼ばれ、「気と血」のエネルギーの通り道である経絡上に点在し、その経絡をつなぐ点のことである。鍼灸で施術することにより様々な作用を表わす』ものだそうです。フレームワークというのは、“プログラミングにツボを作る”システム、と言ってもいいかもしれません。

ある1箇所を調整するだけで、「全体に影響」を与えることができます。ですから、どこを調整するとどんな変化が起こるのか、その全体像をつかむことが大切です。

まず、CakePHP Framework には基本となる二つのディレクトリとして、

Cake: フレームワーク自体が入っているフォルダ
app: 自分のプロジェクトを入れるフォルダ

という二つがあります。そして重要なこととして、「この二つのフォルダ内の構成はかなり似ている」ということです。どういうことかというと、もし、Cakeフォルダ(フレームワーク本来の)コードを書き換えたい、修正したいと思った場合には、

「該当するファイルを Cake フォルダから App フォルダにコピーし、そのコピーしたものを自分用に修正してしまう」

という手法が使えるということです。Cakeは、同じ名前のファイルが app フォルダにあることに気がつくと、そちらのほうを実行します。

Cake フォルダ自体には手をふれずにすみますので、Cake の最新版が出た場合には、単に Cake フォルダだけを上書きするだけでよいかもしれません。
(テストは必要ですが。)誤って、せっかく自分の書いたコードを上書きしてしまった、という状況をなくすことができます。

もうひとつの“ツボ”アプローチは、“クラスの階層図”という観点から理解を深めることです。

Cake のすべてのクラスは、object クラス(libs\object.php)から派生しています。つまり、このクラスがすべての親となっていますので、ここに何か機能を書き込むと、Cake内のありとあらゆるクラスが同じ機能を持つようになります。

現在、ここに書いてあるメソッドには、

toString() ……  クラス名を文字列で出力する
requestAction() …… コントローラのメソッドを呼ぶ
log() ……   ログを取る
cakeError() ……   エラー処理用

などがあります。これはどのCakePHPのクラスからでも呼べる基本的なメソッドです。

また、フレームワークの屋台骨となる、

AppController クラス(app_controller.php)
AppModel クラス(app_model.php)

があります。これらのファイルを cake フォルダから app フォルダ直下にコピーし、自分のメソッドを加えると、それぞれ、すべての“controller”クラス、また"model"クラスに同じ機能を追加することができます。

例えば、MYSQL 4.1 以上を利用している場合には、接続直後に、"SET NAMES テーブルの文字コード"という SQL を発行しないと、文字化けに見舞われることが多々あります。オープンソース開発であれば、自分の環境ではOKだからなにもしないというのではなく、「だれの環境でも動くように意識した開発」が大切なので、環境に応じてこうしたコードを実行するようにしておくなどの、気配りは大切かもしれません。

AppModel 内に一度、このSQLを発行するコードを書いておくと、あとは model クラスを新たに作るたびに親の性質を受け継いでいますので、子どもたちには何も手を加える必要がありません。

ということは、数百のファイルがある大きなプロジェクトであっても、一箇所を変更するだけで、アプリケーションのふるまいを変更できることになります。

これがどれだけの省力化とDRY(同じことを何度もしない!)に役立つかを体験すると、手放せなくなります……。

directories.PNG

 









posted by SDozono at 11:22| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年07月13日

CakePHP の分かりやすいチュートリアル

Fabio Cevasco さんは別の記事で SQLyog も紹介しています。WEB開発での好みが似ているかもしれません。

簡単なアプリケーションを作成してみるチュートリアル記事を発表されました。

article1.jpg
http://www.sitepoint.com/article/application-development-cakephp

日本での開発のための参考点として、
・自宅サーバで試す場合には、mod_rewrite が効くようにしておきましょう。
・$scaffold は基本的にfield名をそのまま使用するので、日本語環境ではあまり実用的でないと考えていたほうがよいと思います。(日本では、field名には英語が使用されます。しかし、Viewの項目名では日本語が使用されます。)この記事の後のほうに出てきますが、view 部分でテンプレートを簡単に作成できるので、そちらを利用できます。
・Rails流儀では、テーブル名を複数形にしたほうが簡単です。しかし、既存プロジェクトなどの場合には、おいそれとテーブル名を変更できない場合がありますよね。そんな場合でも、単に、Model の中に、

$useTable = テーブル名

とかけば、あとはすべて面倒を見てくれるので、フレームワークを利用することを心配しなくて大丈夫です。(ちなみにここに False を入れると、データベース・テーブルを見に行かないモデルを作成できます。)あっ、でもprimary key がないテーブルを使用している場合はつらいかも。$id という名前でない場合は $primaryKey 変数でセットできます。
・削除機能に「本当に削除しますか」のような確認ポップアップを追加するのは簡単です。$confirmMessage というパラメータを true にしましょう。

詳細はこちらを参照してください。

$scaffold に関しては、phpMyEdit の機能を取り込むことができたら、本家Ruby on Rails を超えることができると考えています。暇ができたら書いてみたいと思います。(しかしもう一つのアイデアも捨てがたい……。)

posted by SDozono at 07:46| ロサンゼルス 🌁| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年07月12日

直感的なCakePHPのディレクトリ構造

CakePHP のディレクトリ構造は非常に直感的です。

・フレームワーク本体は Cake の中に、
・自分の作成するアプリケーションは、app の中に、

保存します。

データベースの中に、例えば books というテーブルがある場合、

テーブル名:books
モデル(modelフォルダの中に):book.php
コントローラ(controllerフォルダの中に):books_controller.php
ビュー:(view フォルダの中に)
\books\index.thtml
\books\edit.thtml
\books\add.thtml
\books\view.thtml

という配置になります。なお、これらのファイルを手作業で書く必要はありません。cake\scripts\bake.php というスクリプトファイルを作ると、一発で自動生成してくれます。(ほかのテーブルとのリレーションまで設定可能です。)

directories.PNG

posted by SDozono at 17:20| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年07月05日

いちばん簡単な認証システム

CakePHP が標準で使える認証システムとしては、ACLがあります。INIベースとデータベースを切り替えることができたり、ユーザのアクセス許可コントロールなどかなり複雑なことができますが、それゆえに設定が面倒だったりします。

こちらで作成しているものは、「少人数で使用するWEBアプリ」なので、一つのユーザ名とパスワードを入れれば入れる、という仕組みのものを試しに作成してみました。

SdAuth.zip
sd_auth.zip

使い方は、

1) sd_auth.php(このファイル)を app/controllers/components に置く。
login.thtml を app/views/layouts に置く。

2) app_controller.php を、cake/appcontroller.php から app/ にコピーして、自分用に書き込めるようにする。

3) そこに以下を追加する。これで、プロジェクト全体が必ずここを通過するようになる。

class AppController extends Controller {

   var $components = array('SdAuth');

   function beforeFilter()
   {
    // Auth Check.
    if($this->SdAuth->isloggedin() == FALSE){
//$this->layout = “login”;
*$this->layout = '';*
*$this->render('../layouts/login');*
*exit();*
*など。pm11opさん、ありがとうございます。*
http://pm.11op.net/2007/12/post-28.php
    } else {
      $this->layout = "default";
    };
   }
}

4) ログアウトのリンクをどこかに作成する。どこかの ****s_controller.php に、次のコードを追加。

    function logout(){
     $this->SdAuth->logout();
     $this->redirect("/index.php");
    }

これで、ログインしないと使えないWEBシステムを簡単に作成できます。

これはモジュールとして作成したので、どんなプロジェクトにも使いまわすことができます。

こういういろいろな人の書いた Tips 集のようなものが、cakephp.org にある「スニペット」です。

http://cakeforge.org/snippet/

上記のURLに、いろいろ便利 Tips があります。
posted by SDozono at 16:53| ロサンゼルス ☀| Comment(3) | TrackBack(3) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする