人生ってオッサンになってからの方が長いじゃねーか

Standard
人生ってオッサンになってからの方が長いじゃねーか

言われて初めて気づいた。(銀魂16話)
この25年間という貴重すぎる若者時代を恐ろしく無駄にしてしまった気がして、戦慄した。前立腺がクゥ~ン♪ってなった。オッサンになると何をするにもリスクが伴なう。むちゃな運動をすれば怪我をする。女子に触れるとセクハラだと言われる。行きずりのセックスでもしようものなら金一封を強要される。
最近駅の階段を駆け上ると息切れで変な汗が出るわけで。残された時間は僅かなのです。有給使って北の歓楽街に行こうかな。。
 
 
 
プログラム書いてて、「あれ、これどうやって使うんだっけ?」ってなったときに、まず頼るのは自分が過去に書いたソースですよね。頻繁に実装するであろう機能を盛り込んだプログラムをひとつ作っとくと、次からのアジャイル度も3割増しね。新しいフレームワークなんかを勉強するときのMy常套手段あるよ。覚えとくヨロシ。
 
 
ということで、CakePHPの勉強がてらにチュートリアルアプリの定番「タスク管理」アプリを作ってみました。memo代わりに公開。AuthコンポーネントとAjaxコンポーネントの基本を体得しました。ログインユーザ登録する時の「パスワード」と「パスワードの確認」まわりが気に入らないのですけれども。。これ以外のやり方でいい感じのがあったら@bugcloudに教えてください。
 
taskman.tar.gz
 
 
テストはmodelしか書いてません。すいませんすいません。

CakePHPはじめました

Standard
CakePHPはじめました

最近ザキヤマさんをテレビで見かけるたびに爆笑してます。とりあえず言っとけ的なアレがつぼすぎる。
 
 
転職も決まったので、今日からケーキ職人を目指そうと思います。BakeBakeBake!!
とりあえず入門的な本を買ってきたけど、本に載ってる環境がwindowsなので、ubuntuでCakePHPを動かすメモ。ボクの環境はVMwareのUbuntu8.04 です。ファイルは ~/public_html の下に配置して、ブラウザからhttp://localhost/~username/cakeappname/ でアクセスすることにします。
 
 
この辺を参考にしました。ありがとうございました。
http://wiki.lampetty.net/apache2.html
http://d.hatena.ne.jp/cybaron/20090103/p1
 

Apache の設定

CakePHPはデフォルトでApacheのmod_rewriteモジュールを使用するようになっています。CakePHPの公式ドキュメントも今日買った本もApache2じゃないですが、まー今日日Apache2でしょう。まずはmod_rewriteモジュールを有効化。

  • sudo a2enmod rewrite

 
次に~/ にCakePHP を配置できるようにuserdirモジュールを有効化。

  • sudo a2enmod userdir

 
userdir.conf の修正。AllowOverride Allを設定する。

  • sudo vim /etc/apache2/mods-available/userdir.conf
<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
               # AllowOverride FileInfo AuthConfig Limit
                AllowOverride All
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
        </Directory>
</IfModule>

 
Apache再起動。

  • sudo /etc/init.d/apache2 restart

 
CakePHPのダウンロードと配置。最新版を公式から~/public_html へダウンロード&展開。名前は適当に変更。

  • tar xvfz cake_1.2.5.tar.gz
  • mv cake_1.2.5 mycake

 
 

mod_rewrite 用に.htaccessファイルを書き換え

CakePHPの.htaccessファイルにRewriteBase を追加。

  • vim ~/public_html/mycake/.htaccess
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteBase /~bugcloud/mycake/
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>
  • vim ~/public_html/mycake/app/.htaccess
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /~bugcloud/mycake/app/
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
 </IfModule>
  • vim ~/public_html/mycake/app/webroot/.htaccess
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /~bugcloud/mycake/app/webroot
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

 
 

その他

tmpディレクトリのアクセス権を変更。

  • chmod =R 707 ~/public_html/mycake/app/tmp

 
Security.saltの変更。Configure::write(‘Security.salt’, ‘~~~~~~~~’); のとこを適当に変更。

  • vim ~/public_html/mycake/app/config/core.php

 
データベース用の設定。環境に合わせて設定する。~/public_html/mycake/app/config/database.php を編集。

  • mv database.php.default database.php
  • vim ~/public_html/mycake/app/config/database.php
class DATABASE_CONFIG {

  var $default = array(
    'driver' => 'mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'user',
    'password' => 'password',
    'database' => 'database_name',
    'prefix' => '',
    'encoding' => 'utf8',
  );

  var $test = array(
    'driver' => 'mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'user',
    'password' => 'password',
    'database' => 'test_database_name',
    'prefix' => '',
    'encoding' => 'utf8',
  );
}

 
 
ここまでやれば準備オッケーなはず。http://localhost/~bugcloud/mycake/ にアクセス
 
capture

capture

 
全部緑になってればお毛ー。スタイルが適用されてなかったら、mod_rewrite ら辺がどっか間違っとるよー。
 
 
2009/12/26 追記
 
ubuntuでbakeを使うにはパッケージをインストールする必要があるみたい。
cakephp1.2-scripts

コマンドラインからphpを使えるようにする

  • sudo apt-get install php5-cli

cake用のパッケージのインストール

  • sudo apt-get install cakephp1.2-scripts

 
これでコマンドラインから

  • cake bake -app /home/username/public_html/mycake/app

 
とかやってやればbakeできるんですが、問題ありです。なんか知りませんが、cakephp1.2-scriptsで使われるcakeが古いっぽいです。controllerをbakeすると、自動で作成されたadd()メソッドの中に”$this->cleanUpFields();”っていうのが入ってきます。が、新しいバージョンのcakeではこのメソッドはモデルが自動的に実行するようになったらしいです。
 
ということで、bakeするときは作成中のアプリのディレクトリに入って

  • php cake/console/cake.php bake

 
ってやるのが正解みたいです。
めんどくさ!
  
 

Cover image is not found
amazon.co.jpで詳細情報を見る