PHPのRuby on Railsクローンのフレームワーク Akelos PHPをいじってみた出来事のメモ。

Akelosをいじってみるメモ帳

Akelos PHP Blogチュートリアル一覧(全18記事)
Akelos PHP ユーザ認証チュートリアル一覧(全19記事)

2008年06月18日

メール処理

v0.9に入る予定のActionMailerを使うか
それとも独自で組むか

AkelosのActionMailerのクラスに関してはsvnで引っ張ってこれるんですよね
ただしRailsのようなgenerate mailerは無いようだ

チュートリアルは、ここを今、悩み中で遅れ中・・・
ラベル:雑記
posted by AMUAMU at 10:59| Comment(0) | TrackBack(0) | Akelos | このブログの読者になる | 更新情報をチェックする

2008年06月13日

Akelosでユーザ認証、執筆中

Akelosユーザ認証チュートリアルを、かなりまともな形で執筆中
あと1〜2日で完成するかなぁ・・・

説明を加えるべきメソッドとか多くて、思ったより時間が掛かる;
Railsのユーザ認証の説明を元にしてるんだけど・・・

自分のAkelosの勉強にもなるのでついつい、フレームワーク側のコードを読み入ってしまうww

Railsのattr_accessorや、attr_protectedとの互換機能あたりの実装は面白い。

さぁ、がんばろう。
酒飲みながらだが!!!wwww
ラベル:雑記
posted by AMUAMU at 23:23| Comment(0) | TrackBack(0) | Akelos | このブログの読者になる | 更新情報をチェックする

2008年06月11日

Akelos Blogチュートリアル 18.コメント機能を追加する 動作確認

さぁ動作を確認しましょう。
http://localhost/blog/ の記事一覧から、Showボタンを押すと、下にコメントフォームが追加されているはずです。
書き込むとコメントが増えるでしょうか?増えたら成功です。


蛇足の追記 ※Extraなチュートリアルです

ただし、これにはvalidateが入ってないですね。
でも単にvalidate足しただけでは、Postに足したようにはいきません。Commentはビューのテンプレートを持っていないので、モデルにvalidateをいれても、結果を直接表示は出来ません。
コメントをテンプレートを持つ形式にする事も考えられますが、ここでは、flashメッセージを使います。

C:\xampp\htdocs\projects\blog\app\models\comment.php
-------------------------------------------------------
<?php

class Comment extends ActiveRecord
{
  var $belongs_to = 'post';
  
  function validate()
  {
    $this->validatesPresenceOf('body');
  }
  
}

?>
-------------------------------------------------------
まぁ、本当はもっとチェックを入れないとあかんけど、とりあえず。

続いてコントローラ
C:\xampp\htdocs\projects\blog\app\controllers\blog_controller.php
の最後の方、function comment()の中を書き換えます。
-------------------------------------------------------
    function comment()
    {
    //対象となるid情報は来ているかどうか確認
    if(!empty($this->params['id'])){
      //元記事を探して
      $Post = $this->Post->find($this->params['id']);

      if ($this->Request->isPost() &&  //Postデータで来ているか確認
         $Post->comment->create($this->params['comment']) && //作って
         $Post->save() ){  //セーブしてみる
        //validateでエラーが起きているとfalseが帰ってくる
        //validateがokならば、trueが帰ってくる

        //成功したから表示
        $this->flash['notice'] = $this->t('Your comment was successfully added');
        
      }else{  //エラーだと表示させるよ!
        $this->flash['notice'] = $this->t('Your comment error!');
      }
      //書き込み画面に移動
      $this->redirectTo(array('action'=>'show','id'=>$Post->id));
    }else{
      //一覧画面に移動
      $this->redirectToAction('listing');
    }
    }
-------------------------------------------------------
こんな感じ。

コントローラ内で、flashに上のように文字つっこんで、redirectToでページを再読込させると、flashに入れた内容が画面の上部に表示されます。

これで一通り動きます。

次回ユーザ認証・・・
posted by AMUAMU at 23:15| Comment(2) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 17.コメント機能を追加する 表示、反映の仕組みなど追加

関連付けしたコメントを表示する枠を作ります。
C:\xampp\htdocs\projects\blog\app\views\blog\show.tpl
を開いて、以下を末尾</div>の前に書き加えてください。
-------------------------------------------------------
  <h2>_{Comments}</h2>
  {loop post.comments}
    <hr/>
    <p>{comment.body}</p>
  {end}

  <hr />

  <h3>_{Add a comment}</h3>
  <%= form_tag :action => 'comment', :id => post.id %> <br />
  <%= text_area 'comment', 'body' %>
    <%= submit_tag 'Comment!' %>
  </form>
-------------------------------------------------------
前半は表示用、中段の<hr/>を挟んで後半は書き込み用です。
関連付けしていれば、こんな感じで表示出来るんだ、ぐらいの把握で今は良いと思います。

続いてコメントの表示と書き込みを反映させるための実際の動作を、コントローラで定義します。

C:\xampp\htdocs\projects\blog\app\controllers\blog_controller.php
を開きます。

まず最初にクラス内の最初の
-------------------------------------------------------
  var $models = 'post';
-------------------------------------------------------
となっているところを

-------------------------------------------------------
  var $models = 'post, comment';
-------------------------------------------------------
と書き換えます。これは、このコントローラで利用するモデルの宣言だと考えて良いかと思います。

続いて、読み出しの指定を書きます。show()アクションが書いてあるところを探してください。
下記のようになっているはずです。
-------------------------------------------------------
    function show()
    {
        $this->post = $this->Post->find(@$this->params['id']);
    }
-------------------------------------------------------
となっているところを

-------------------------------------------------------
    function show()
    {
        $this->post = $this->Post->find(@$this->params['id'],array('include'=>'comment'));
    }
-------------------------------------------------------
と書き換えてください。末尾のところがポイントです。何を取り込む(include)するかを指定します。

※蛇足
これ書かなくてもロード出来そうな気もするけど、わざとなのかな?
これを書くことにより、必要なときだけ子供がロードされるから、色々高速に動きそうだし、個人的にはむしろ好感。これを書けとチュートリアルでは書いて無くて原因探しにちょっと時間使ったけど・・・。
蛇足終了
posted by AMUAMU at 23:11| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 16.コメント機能を追加する テーブルの関連付け

コメント機能の追加をします。

まずテーブルの関連付けをします。
1対多の関係として、先ほどの記事1つ1つに対して複数のコメントを付けるモデルを作ります。
どんどん行きますよー

まず、データの保存する先となるモデルを作ります。
コマンドラインで以下を入力してください。
-------------------------------------------------------

C:\xampp\htdocs\projects\blog>c:\xampp\php\php.exe script\generate model Comment

-------------------------------------------------------
モデルとしてCommentというのを作れと指示していますね。

C:\xampp\htdocs\projects\blog\app\models
のディレクトリにcomment.php というのが増えていると思います。
メモ帳などで開いてください。
空のクラスがありますので、その中に1行加えましょう。
-------------------------------------------------------
var $belongs_to = 'post';
-------------------------------------------------------
そのまんま読んで字の如く「 post に属する 」とだけ書きます。
つまりこのCommentモデルはPostモデルを親として見て、関連づけますよということですね。

続いて
C:\xampp\htdocs\projects\blog\app\models\post.php
を開いてください。
先ほどvalidate()を書いていますが、その前にやっぱり一行加えましょう。
-------------------------------------------------------
var $has_many = 'comments';
-------------------------------------------------------
これも読んで字の如く「commentsをたくさん持ちます」となりますね。
つまりPostの子供(0〜複数)としてCommentsを持ちますよ。と関連づけています。

さらに、Commentのデータベースのテーブル内容を定義しましょう。
インストーラークラスのcomment用のファイルがありますので開いてください。
C:\xampp\htdocs\projects\blog\app\installers\comment_installer.php

テーブル定義を書きます。
-------------------------------------------------------
  function up_1()
  {
    $this->createTable('comments',
     'id,'.
     'body,'.
     'post_id'
     );

  }
-------------------------------------------------------
こんな感じで。
ちなみにxxxx_id というところは関連付けされるだろうと想定されて、勝手にMySQLのINDEXにしてくれます。

※蛇足
チュートリアルでは、デフォルト値の埋め込みとかしてますが、実際することって多いんですかね・・・日本語混ざると言語制御の範囲外になるんで、問題も起きやすい気もするから、マルチバイト環境下(日本語環境下)では、やめたほうがいいんじゃないかなー。詳しく調べてないから、よくわからん。後日要調査。蛇足終わり※

マイグレーションしてデータベースに反映させます。
コマンドラインで以下を入れてください。
-------------------------------------------------------

C:\xampp\htdocs\projects\blog>c:\xampp\php\php.exe script\migrate comment install

-------------------------------------------------------
posted by AMUAMU at 23:06| Comment(0) | TrackBack(1) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 15.ビューの修正 sintags

Sintagsの説明は割愛・・・そのうち書くかも
文字だけで伝えるの難しい(>_<)
でもビューの修正などには大変便利な機能なので、ちゃんと勉強したほうがいいかと思いますが・・

とりあえずhelperの(例えばC:\xampp\htdocs\projects\blog\app\helpers\blog_helper.phpのような)機能を呼び出したり修正したりをビューでするのが簡単って感じですかね?

※Sintagsのドキュメントを日本語化してるネ申がいらっしゃった。→こちら
神様じゃ
posted by AMUAMU at 23:00| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 14.入力チェック機能の追加

次は、入力項目のチェック機能の追加をします。

ここではtitleに文字が入っているかをチェックするようにしましょう。

C:\xampp\htdocs\projects\blog\app\models\post.php
をメモ帳などで開いてください。
空のクラスが書いてあると思いますが、以下の内容をクラス内に足します。

-------------------------------------------------------
  function validate()
  {
    $this->validatesPresenceOf('title');
  }
-------------------------------------------------------

validate内で、postモデルに入れる項目の入力チェックを行うわけです。
ここではvalidatesPresenceOfというチェックを使っています。これはブランク(空のデータ)の入力を許さないというメソッドです。

titileの項目は空データかどうか?を調べてくれます。

他にもvalidate関係の関数はたくさんありますが、APIリファレンスのActiveRecordのBaseにあるAkActiveRecordのメソッド一覧でも見てください。
http://api.akelos.org/ActiveRecord/Base/AkActiveRecord.html#methodvalidate
ここらへんから下ですね。

さて、ブラウザを開いてtitleを入れずにOKして登録してみてください。ちゃんとエラーを表示すると思います。
このエラーの表示はerror_message_helperというものを使っています。
まぁ、わからないひとは、そういうもんがあるとだけ思っておけばOK.
posted by AMUAMU at 22:57| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 13.テーブル定義の修正 日付入力機能追加

ちょっと修正をしていこう。

チュートリアルのbody追加は吹っ飛ばしてるけど、このままだと自動で登録される作成日時、更新日時はあるけど、登録したい日付を変えたい場合があるでしょう。

なので、テーブルの定義を追加修正して、日付の入力欄を入れたいと思います。


まずPostインストーラでテーブル定義を変えます。

メモ帳などで下のファイルを開いて下さい。
C:\xampp\htdocs\projects\blog\app\installers\post_installer.php

次のfunction設定をクラス内に追記しましょう。
-------------------------------------------------------
  function up_2()
  {
    $this->addColumn('posts','posted_at');
  }
-------------------------------------------------------
この意味は、2番目の修正版ですよという意味で up_2
addColumnでカラムを追加してくださいと呼び出し、postsテーブルを対象として指定。
カラム名はposted_atだよ。
となっています。xxxxx_atは日時形式に自動的にしてくれるおまじない。

保存します。

先ほどの修正した内容を色々な所に反映させます。
まずデータベースにテーブルの修正を反映させるためマイグレーションを行いましょう。
コマンドラインを開いて以下のコマンドを入れるだけ。
-------------------------------------------------------
C:\xampp\htdocs\projects\blog>c:\xampp\php\php.exe script\migrate post install

Upgrading-----
(mysqlt): SET AUTOCOMMIT=0
-----
-----
(mysqlt): BEGIN
-----
-----
(mysqlt): ALTER TABLE posts ADD posted_at DATETIME
-----
-----
(mysqlt): COMMIT
-----
-----
(mysqlt): SET AUTOCOMMIT=1
-----
Smart Commit occurred

C:\xampp\htdocs\projects\blog>
-------------------------------------------------------
これだけでデータベースへの修正が終了。


続いて登録・表示画面系の修正。これもコマンド1行を打ち込むだけ
-------------------------------------------------------

C:\xampp\htdocs\projects\blog>c:\xampp\php\php.exe script\generate scaffold Post Blog --force --sintags

(メッセージ略)
-------------------------------------------------------

これで終わり。

ブラウザ画面を開いて確認してみましょう。日付の入力枠が増えたと思います。
posted by AMUAMU at 22:53| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 12.ルート設定、動作確認

さて、チュートリアルでは11の作業までで色々動くようになってるんですが、手元の環境では動かない。
なぜかというと、何もオプションを付けないで画面を呼び出した時に、何のコントローラーを呼び出すんだーって設定が無いんです。
なので、追加でもう1つ作業します。

※以下、ちょっと脱線
なぜだーってよく調べてみると、routes.phpのデフォルトルートの初期設定が変わっているようですね。
さらに、BlogControllerのindexアクション内のperformActionメソッド呼び出しもうまく動いていないよう。redirectToAction使わないとだめっぽい。この原因は後で調べよう
以上脱線終了。


ということで、何を初期呼び出しするかを決めるルート設定を行います。

C:\xampp\htdocs\projects\blog\config\routes.php
のファイルをメモ帳などで開いて、下のように編集してください。

-------------------------------------------------------
connect('/:controller/:action/:id', array('controller' => 'blog', 'action' => 'listing'));
$Map->connect('/', array('controller' => 'blog', 'action' => 'listing'));

?>
-------------------------------------------------------
さっき作ったblogコントローラを指定し、さらにlistingアクション(とビュー)を指定しています。

保存して終了。


ということで、やっとブラウザ
http://localhost/blog
を入力して開いて下さい。
ブラウザに
-------------------------------------------------------
Tasks:
Create new Post
Posts
-------------------------------------------------------
こんな感じで表示されていれば成功。
new Postなどをクリックしたり、登録したり適当にいじってOK。
posted by AMUAMU at 22:47| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 11.色々自動生成 scaffold

scaffoldで、色々自動生成しちゃいます。

引き続き、コマンドラインで作業です。
前のマイグレーションとscaffoldの機能が初心者的には、RoRライクのすごそうに見える所ですね。CakePHPとかも同じような機能あるけど。

モデルとコントローラがあれば、一気に色々作ってくれます。

でわ、下記のようにscaffoldを起動
-------------------------------------------------------
C:\xampp\htdocs\projects\blog>c:\xampp\php\php.exe script\generate scaffold Post Blog --force

The following files have been created:
C:\xampp\htdocs\projects\blog\app\controllers\blog_controller.php
C:\xampp\htdocs\projects\blog\app\helpers\blog_helper.php
C:\xampp\htdocs\projects\blog\app\views\layouts\blog.tpl
C:\xampp\htdocs\projects\blog\app\views\blog\add.tpl
C:\xampp\htdocs\projects\blog\app\views\blog\destroy.tpl
C:\xampp\htdocs\projects\blog\app\views\blog\edit.tpl
C:\xampp\htdocs\projects\blog\app\views\blog\listing.tpl
C:\xampp\htdocs\projects\blog\app\views\blog\show.tpl
C:\xampp\htdocs\projects\blog\app\views\blog\_form.tpl


C:\xampp\htdocs\projects\blog>
-------------------------------------------------------

generateスクリプトのscaffoldの使い方は、 scaffoldのあとに、モデル名、コントローラ名を書く事。
大文字・小文字の区別があるので注意!
Postモデルを使うコントローラとしてBlogコントローラを作ってね、という指示ですね。
Blogコントローラと、それに対応したテンプレートなどが自動生成されます。
モデルがあって、それをどう動かすかコントローラで決める。で、Blogコントローラ内にはデフォルトで、アクションがいくつか自動実装されて、それに対応するビューもあわせて生成されると。

MVCモデルによる分離ってのが、ここで行われているわけです。

※以下蛇足
ちなみに、ここではPostモデル、Blogコントローラだけを指定していますが、
generate scaffold Post Blog hoge all
なんて書くとhogeと、allという2つのアクション(とビュー)を自動で追加してくれます。
scaffoldを使うならすぐに使い道の出る機能ですね。
posted by AMUAMU at 22:44| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 10.マイグレーション migration

Postインストーラーを使って、マイグレーションします。

これにより、先ほど書いたテーブル定義をDBに反映させます。

コマンドラインを開いて下さい。
先ほどのpostをmigrateスクリプトで指定してインストールします。
-------------------------------------------------------

C:\xampp\htdocs\projects\blog>c:\xampp\php\php.exe script\migrate post install

<中略>
-----
(mysqlt): CREATE TABLE posts (
id INTEGER NOT NULL AUTO_INCREMENT,
title VARCHAR(255),
body LONGTEXT,
updated_at DATETIME,
created_at DATETIME,
PRIMARY KEY (id)
)TYPE=InnoDB
-----
-----
(mysqlt): COMMIT
-----
-----
(mysqlt): SET AUTOCOMMIT=1
-----
Smart Commit occurred

C:\xampp\htdocs\projects\blog>
-------------------------------------------------------
こんな感じで出れば完了。
id,titleが自動的にSQLコマンドに展開されていますね。
なお、今のバージョンのAkelosではupdated_at、created_atが勝手に加わるようです。
エラーが出たり、心配性の人はDBにpostsテーブルがあるか確認してくださいね。 blog_dev内にあるはずです。
posted by AMUAMU at 22:40| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 9.Postモデルのテーブル定義を書く

Postインストーラーにテーブル定義を書きます。
メモ帳などで、下記のファイルを開いて下さい。
C:\xampp\htdocs\projects\blog\app\installers\post_installer.php

下記のように編集してください。

-------------------------------------------------------
class PostInstaller extends AkInstaller
{
  function up_1()
  {
    $this->createTable('posts',
     'id,'.
     'title,'.
     'body text'
    );
  }

  function down_1()
  {
    $this->dropTable('posts');
  }
}
-------------------------------------------------------

テーブル定義をしています。
カラム名だけでも、適当にカラムの定義をしてくれます。
bodyではtextフィールドと追加しています。
実際は、もっとちゃんと設定したほうがいいですけどね。
posted by AMUAMU at 22:29| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 8.Postモデルを作る

モデルはデータの保存する所や、その格納方法、ルールなんかを書くところです。

コマンドラインを開いて下さい。
ディレクトリをBlogプロジェクトのディレクトリに移動し、再びgenerateスクリプトを使います。
-------------------------------------------------------
C:\xampp\htdocs\akelos>cd c:\xampp\htdocs\projects\blog

C:\xampp\htdocs\projects\blog>c:\xampp\php\php.exe script\generate model Post

The following files have been created:
C:\xampp\htdocs\projects\blog\app\models\post.php
C:\xampp\htdocs\projects\blog\test\unit\app\models\post.php
C:\xampp\htdocs\projects\blog\test\fixtures\app\models\post.php
C:\xampp\htdocs\projects\blog\test\fixtures\app\installers\post_installer.php
C:\xampp\htdocs\projects\blog\app\installers\post_installer.php
-------------------------------------------------------

いくつかファイルが作られたようです。

generateスクリプトの使い方はBlogコントローラ作成時に説明しましたが、ここでは model と指定していることに注意です。
もちろん名前であるPost部分は大文字小文字の区別があります。

これは規約なので、そういうもんだと覚えておけばOK
posted by AMUAMU at 22:26| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 7.Blogコントローラ初期作成

では、ここからは主にAkelosの機能を使って実際にBlogチックなものを作っていくフェーズに。

Blogコントローラーの作成をします。コントローラは色々な処理自体を行う部分です。

コマンドラインを開いて下さい。
ディレクトリをBlogプロジェクトのディレクトリに移動し、generateスクリプトを使います。

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

C:\xampp\htdocs\akelos>cd c:\xampp\htdocs\projects\blog

C:\xampp\htdocs\projects\blog>c:\xampp\php\php.exe script\generate controller Blog

The following files have been created:
C:\xampp\htdocs\projects\blog\app\controllers\blog_controller.php
C:\xampp\htdocs\projects\blog\app\helpers\blog_helper.php
C:\xampp\htdocs\projects\blog\test\functional\controllers\blog_controller.php
C:\xampp\htdocs\projects\blog\test\fixtures\app\controllers\blog_controller.php
C:\xampp\htdocs\projects\blog\test\fixtures\app\helpers\blog_helper.php

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

いくつかファイルが作られたようです。

generateスクリプトでは
generate [作るタイプ] [名前]
という規則で実行します。
とりあえず、ここはcontrollerと指定しています。
名前はBlog。大文字小文字の区別があるので注意してください

※以下蛇足
チュートリアルだと、この作られたファイルのうちのblog_controller.phpに、index()メソッドを足しての中にHello Worldとか表示してるようですが、めんどくさいので割愛。

このindexコントローラーに対応するテンプレートファイルとして、
C:\xampp\htdocs\projects\blog\app\views\blog\index.tpl
というファイルを新規に作ったりもしていますが、それも割愛。まぁ、indexという共通名で繋がるようだってことだけ覚えておくと良いかも。
posted by AMUAMU at 22:23| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 6.設定の続き

Akelosのデータベース詳細設定をします。
ブラウザに戻って下さい。

ユーザと、パスワードを、一つ前でで設定した内容にしてください。
3カ所設定が必要なので注意。
上から、開発用、公開用、テスト用とDB自体が分かれています。

入力したら、次へ。

言語設定の画面です
XAMPPだと環境によってen,ja_jp.sjis,jaとかなっていそうですが、ここではシンプルに
「 ja,en 」と設定します。

これで設定は完了です。

次は実際の作成へ・・・・
posted by AMUAMU at 22:19| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 5.DB設定 初期DBを作る

データベースの設定をしましょう
ブラウザはそのまま置いて、コマンドライン画面に戻ります。

MySQL DBに初期DBを作ります。
まずはmysqlのコンソールに入ります。
-------------------------------------------------------

C:\xampp\htdocs\akelos>c:\xampp\mysql\bin\mysql -u root -p

-------------------------------------------------------
Enter password: と出ますが、そのままエンターキーを押して下さい。
XAMPPは初期インストール状態ではパスワード入っていないので。
そうすると mysql> というコンソールが表示されます。

続けて、公開用、開発用、テスト用のデータベースを作ります。
以下のように入力して下さい。意味はMySQLのマニュアルでも探して下さいw
パスワード(password)部分はちゃんと設定してくださいね。
ユーザはここでは admin としています。
-------------------------------------------------------
mysql> create database blog ;
Query OK, 1 row affected (0.00 sec)

mysql> create database blog_dev;
Query OK, 1 row affected (0.02 sec)

mysql> create database blog_tests;
Query OK, 1 row affected (0.03 sec)

mysql> grant all on blog.* to admin@localhost identified by "password";
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on blog_dev.* to admin@localhost identified by "password";
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on blog_tests.* to admin@localhost identified by "password";
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

C:\xampp\htdocs\akelos>
-------------------------------------------------------

これでMySQLへの設定は終わり。
posted by AMUAMU at 22:15| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 4.いっかい確認

Webブラウザで、初期画面を開く。 http://localhost/blog
「ようこそ 今まさに Akelos フレームワークを使用しています!」という画面が開くはず。
これが表示されないなら、インストールなどに別な問題があるはず。

とりあえず、画面中部の設定をするのリンクを踏んで、次の画面に。
データベース選択画面は「MySQL」を選ぶ。
「データベース設定」の画面になるはずです。

とりあえず、ブラウザ画面はこのままにして置いてください。
posted by AMUAMU at 22:13| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 3.httpd.confの修正(主にWindowsユーザのみ)

Windows環境では、シンボリックリンクを張ってくれないので、手作業でhttpd.confを修正。
※Linuxの場合はsetupスクリプトがやってくれるはず。
c:\xampp\apache\conf\httpd.conf のファイルをメモ帳などで開いて、末尾に以下を追加

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

Alias /blog "C:/xampp/htdocs/projects/blog/public"

<Directory "C:/xampp/htdocs/projects/blog/public">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

-------------------------------------------------------
これにより http://localhost/blog と呼び出されると、公開用のディレクトリに内部的に飛ぶようにリンクですね。まぁ、詳しくはapacheに譲ろうw

その後、XAMPPのコントロールパネルから、Apacheの再起動(もしくは起動)をする。
設定ファイルの読込し直し。
ついでに、MySQLも動いていなければ起動してください。
posted by AMUAMU at 22:07| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 2.初期のセットアップ script/setup

まず、初期のセットアップを

コマンドラインに入ってAkelos本体のあるディレクトリに移動。
-------------------------------------------------------

c:\>cd c:\xampp\htdocs\akelos

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

以下のコマンドを実行して、初期セットアップを実行
-------------------------------------------------------

C:\xampp\htdocs\akelos>c:\xampp\php\php.exe script\setup -d :\xampp\htdocs\Projects\blog -p c:\xampp\htdocs\blog

-------------------------------------------------------
※setupスクリプトの使い方ですが、 -d の後にプログラム本体を展開するディレクトリを、 -p の後にWebに公開するパスを記入。どちらもディレクトリが存在しない状態でないとなんかエラー出すと思います。

だーって、たくさんの初期ファイルを生成・展開をしてくれるはずです。
posted by AMUAMU at 22:04| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

Akelos Blogチュートリアル 1.はじめに

なんか、初心者にはわかりにくいようなのでチュートリアルのBlogを作り、さらに認証サイトを作るところまでを書いてみようかと思います。取りあえず文字ベースで・・・

とりあえず環境はXAMPP for Windowsで、ダウンロードとか、インストールとか、ファイルコピーは割愛。これは公式にあるBooklinkチュートリアル(日本語版)でも、わかるかと思います。
Windowsのほうが固有の作業が多いから選んだだけで、他の環境もほぼ同じで行けるでしょう。

・PHPの基礎は少しは知らないとダメ。
・Railsの知識はまったく無くてOK。
・他のフレームワークを触ったこと無い人でも、たぶんOK。
というレベルで分かるように書くつもりです。。


c:\xampp\htdocs\akelos\ に本体プログラムは解凍して展開。
c:\xampp\htdocs\Projects\ に個別のプロジェクトを置くというディレクトリ構成で望みます。

さて、とりあえずAkelosのUS公式にあるBlogスクリーンキャストの動画チュートリアルを元に、途中の余計な作業を省いて作って、それに簡単なユーザ認証機能を入れてみたいと思います。

というか、動画のスクリーンキャストでのBlog作成チュートリアル。
現在のバージョンだと挙動が色々違うような・・・・そのままじゃダメなこと多くないです????

個別のコマンドとかの簡単な説明も足してみたけど、間違っていたらごめんなさい・・・
posted by AMUAMU at 22:02| Comment(0) | TrackBack(0) | チュートリアル | このブログの読者になる | 更新情報をチェックする

広告


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

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

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


×

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