2007年01月27日

CakePHPの$this->log()、php4.4.4でエラー

2007/04/16追記
cake_1.1.14.4797で下記内容は修正されているようです。


CakePHPでログを残す方法で、$this->log()を知ったが
xampp 1.5.5、php4.4.4で使用してみると下記エラーが出力される。
Parse error: parse error, unexpected '(', expecting '}' in CakePHPのパス\cake\libs\file.php on line 196

file.phpの196行目は、
print ("[File] Could not create {$this->getName()}!");

文字列の中に{$this->getName()}メソッドを含んでいるのが問題みたいだ。
ためしに、{$this->name}にしてみるとOKみたいだ。({$this->getName()}はメソッドのなかで$this->nameをリターンしている)
php4では、文字列の中にメソッドを含めることはできないのかなぁ・・・

cake内のファイルは書き換えたくないから、どうしようか・・・
とりあえず、php5.2.0ではエラーは出ないのでしばらく5.2.0で動かすことにしよう。

ちなみに、202行目の
print ("[File] Could not create {$this->getName()}!");

もエラーを起こします。
posted by asaton at 21:14| Comment(0) | TrackBack(0) | CakePHP | このブログの読者になる | 更新情報をチェックする

2007年01月23日

CakePHPが実行したSQLを表示するには?

CakePHPを使用していると、どんなSQLが実行されているか知りたくなるときがある。

そんなときは、/app/config/core.phpの52行目あたりの
define('DEBUG', 1);


define('DEBUG', 2);

に変更すれば、開発中のWebアプリを実行中にブラウザ上で知ることができる。
ちなみに
define('DEBUG', 3);

にすれば、print_rみたいな表示をすることができる。

できればログに記録しておきたいのだが、無いみたいだ・・・
posted by asaton at 11:00| Comment(2) | TrackBack(0) | CakePHP | このブログの読者になる | 更新情報をチェックする

2007年01月12日

CakePHPでmod_rewriteを使わない場合の設定

CakePHPでmod_rewiteを使わない場合下記のようにすればOKみたい。

/app/config/core.php 40行目の
// define ('BASE_URL', env('SCRIPT_NAME'));

のコメントアウトをはずす
define ('BASE_URL', env('SCRIPT_NAME'));


/,/app,/webrootの.htaccessを削除

アクセス方法は、index.phpを追加し下記のようになる。
http://cakeのパス/index.php/コントローラ/メソッド/パラメータ


CodeZineの「CakePHP内の処理を理解する」(2ページ目真ん中下ぐらい)の「注:mod_rewriteのない環境では?」では画像ファイルやcssファイルを移動しないといけないと書かれているが上記の方法で移動しなくてもアクセスできる。

なお、CakePHPをドキュメントルートに配置していなくても問題なく動作する。
(mod_rewriteを使用する場合RewriteBaseを設定しなければならないが・・・)

参考サイト
CakePHPまとめ@Wiki
http://www12.atwiki.jp/nezox/pages/4.html
posted by asaton at 11:55| Comment(1) | TrackBack(0) | CakePHP | このブログの読者になる | 更新情報をチェックする

2007年01月07日

Railsで複数形、単数形迷ったら?

Ruby on Railsの規約にテーブル名は複数形でなければならないというのがある。
たとえばuserの場合テーブル名はusersになる。

しかし、すべてが名詞+'s'という形ではない。
たとえば、manの場合、複数形はmenだ。

この名詞の複数形は何か迷った場合、下記のように調べればいい。
プロジェクトの任意のディレクトリで

$ruby script/runner 'p "man".pluralize'
men
$ruby script/runner 'p "man".singularize'
man


またscript/console上からも実行できる。

$ruby script/console
>> puts "man".pluralize
>> men
>> puts "men".singularize
>> man

ラベル:ruby Rails
posted by asaton at 20:52| Comment(0) | TrackBack(0) | Ruby On Rails | このブログの読者になる | 更新情報をチェックする

2007年01月05日

Ruby on Rails公式チュートリアルの次に何する?

とりあえず、公式のチュートリアルを終えRuby on RailsでのWebアプリケーション作成の雰囲気みたいなのはつかめた。

実用的なWEBアプリに必要なデータベースのテーブルの各連携方法、ユーザ認証の実装等どうやって作るのかが分からない。

WEB上である程度複雑なWEBアプリケーションを作成しているチュートリアルを見つけたので記しておく。

1.RailsでWikiクローンを作る
http://tam.qmix.org/wiki/Minki00.html

チュートリアルをひととおり読んで、 scaffoldスゲーということはわかったのだけど、次に何をしたら良いかわからないという人を対象に書かれています。
ユーザ認証方法にも触れられています。

2.満足せる豚。眠たげなポチ。
part1
http://blog.livedoor.jp/zep716/archives/24182409.html
part2
http://www.yohasebe.com/translation/RwRoR2/index.html

料理のレシピを保存して、共有できるサイトを作成してます。
データベースにはレシピテーブルとカテゴリーテーブルがあり、料理レシピをカテゴリー別に分類できるようになってます。
2つ以上のテーブルの連携方法が参考になります。
モデルに対してhas_manyやbelongs_toを追加すればいいらしいです。

とりあえず、これら2つのサイトで勉強してみるか・・・

ラベル:ruby 入門
posted by asaton at 19:37| Comment(5) | TrackBack(0) | Ruby On Rails | このブログの読者になる | 更新情報をチェックする

2007年01月04日

とりあえず、TodoListTutorialはじめる

環境構築できたので、Rails' wikiTodoListTutorialをやってみる。

Ruby on Railsにはscaffoldというものがあり、Webアプリケーションの操作の基本であるCRUD(Create/Read/Update/Delete)を自動的に作成してくれるみたいだ。

プロジェクト作成->DB作成->モデル作成->コントローラ作成->scaffoldでそれなりの見栄えのするアプリが出来上がる。

scaffoldを基にしてカスタマイズしたい部分のcontrollerとviewを徐々に作りこんでいけばいいみたいだ。

上記チュートリアルは、1テーブルしか使用していないが、外部キー等設定されている2つ以上の場合のチュートリアルを勉強したいと思う。

Ruby on RailsのWeb上の資料は探しづらいので書籍を購入が必要か・・・
CakePHPみたいにマニュアルだけでも日本語であれば助かるのだが・・・
ラベル:ruby cakephp
posted by asaton at 19:16| Comment(0) | TrackBack(0) | Ruby On Rails | このブログの読者になる | 更新情報をチェックする

2007年01月03日

まずは環境構築!!

Linuxでの構築はめんどくさいので、Windowsで環境構築する。

ThinkITのRuby on Rails入門等参照してみると、Instant RailsをインストールするだけでApache, Ruby, MySQL等必要なものがそろうみたいだ。

しかし、CakePHP等も試してみたいので、XAMPP Windows版 1.5.5
ActiveScriptRubyリリース1.8.5.2をインストールしてみる。

デスクトップにruby consoleというショートカットができるのでダブルクリックしてコンソールを立ち上げる。

ActiveScriptRubyには、RubyGemsがインストールされているみたいなので
下記コマンド入力
$ gem install rails --include-dependencies

これで、Ruby on Railsと依存関係があるアプリがインストールされたらしい。

プロジェクトを作成方法は、任意のディレクトリに
$ rails プロジェクト名
とすれば、ファイルが作成される。

Ruby on Railsには、開発環境用のHTTP サーバWEBrickがついてくるのでApacheではなくしばらくこちらでテストしてみる。

サーバの立ち上げ方法は任意のプロジェクトディレクトリで
$ ruby script/server
とすればいいらしい。

ブラウザから
http://localhost:3000
にアクセスすれば起動したかどうか確認できる。

Apacheを使用しないのなら、XAMPPで必要なのは、MySQLだけか・・・
ということは、DBにSQLiteを使用するのであればXAMPPをインストールしなくてもすむということか・・・

まあ、とりあえずRuby on RailsでWebアプリケーションフレームワークどういうものかつかむ為、Ruby + WEBrick + MySQLで行ってみよう!!






posted by asaton at 17:26| Comment(0) | TrackBack(0) | Ruby On Rails | このブログの読者になる | 更新情報をチェックする

2007年01月02日

フレームワークをはじめてみる

Webアプリケーション開発に、最近流行のフレームワークを使用できないか調査してみる。

調査した結果、スクリプト言語がPHPで動作するフレームワークには様々なものが存在する。その中でも、CakePHP、Symphony等が人気があるみたいだ。

これらのフレームワークは、Ruby on Railsを参考に作られていることがわかってきた。

ということは、Ruby on Railsを勉強すれば、フレームワークについての雰囲気がつかめるのではないか・・・

ということで、休み中にRuby on Railsについて勉強してみる。
posted by asaton at 20:48| Comment(0) | TrackBack(0) | フレームワーク | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。