ホームページ  >  記事  >  php教程  >  Cake: PHP もレール上で実行できるようにする

Cake: PHP もレール上で実行できるようにする

WBOY
WBOYオリジナル
2016-06-21 09:11:251340ブラウズ

Cake は、Ruby on Rails に基づいた PHP フレームワークです。 RoR と同様に、Cake もデータベース操作をカプセル化します。現時点では、Cake は成熟したフレームワークではありませんが、すでに注目に値します。

WAMP に Cake をインストールする方法は次のとおりです。

まずCakeをダウンロードします最新バージョン: cake_0.2.9.zip


解凍後、cakeconfigと入力し、database.php.defaultの名前をdatabase.phpに変更し、データベースのパラメータを設定します。例:

$DATABASE_CONFIG = array(
'devel' => array(
'host' => 'localhost',
'login' => 'user',
'password' => 'user ' ,
'database' => 'cake'
)
);

その後、Cake は Apache の mod_rewrite を使用し、Apache の /config/httpd.conf を開き、

#LoadModule rewrite_module modules/mod_rewrite.so

を削除する必要があります。 #

の前にある # 記号を削除し、

#AddModule mod_rewrite.c

の前にある # 記号を削除します。

次に、


ServerAdmin Easy@gmail.com
DocumentRoot "F:/cake/"
ServerNamecake.com
ErrorLog logs/cake.com.error_log
CustomLog などの仮想ホストを追加します。 logs /cake.my.com common


AllowOverride all
Order 許可、拒否
Allow from all

C で: ローカルホスト

127.0.0.1cake.com

の行をWINDOWSsystem32driversetchostsに追加し、Apacheとブラウザを再起動します。

現時点では、Cakeは正常に動作します。アプリケーションを作成しましょう:

データベースにテーブルを作成します

CREATE TABLE posts (    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,    title VARCHAR(50),    body TEXT,    created DATETIME DEFAULT NULL,    modified DATETIME DEFAULT NULL);INSERT INTO posts (title,body,created)     VALUES ('The title', 'This is the post body.', NOW());INSERT INTO posts (title,body,created)     VALUES ('A title once again', 'And the post body follows.', NOW());INSERT INTO posts (title,body,created)     VALUES ('Title strikes back', 'This is really exciting! Not.', NOW());
Cake是基于MVC模式的。创建一个应用时,我们先创建它的Model。
<PRE><SMALL>app/models/post.php</SMALL><?PHPclass Post extends AppModel {}?></p>
<pre class="brush:php;toolbar:false">然后创建Control
<pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><small>app/controllers/posts_controller.php</small><?PHPclass PostsController extends AppController {}?>
在其中加入index方法:
<pre class="brush:php;toolbar:false">app/controllers/posts_controller.php (fragment)function index () {}
最后创建view
<pre class="brush:php;toolbar:false"><small>app/views/posts/index.thtml</small><table><tr>    <th>ID</th>    <th>Title</th>    <th>Created</th></tr><b><?PHP foreach ($this->post->find_all() as $post): ?></b><tr>    <td><b><?=$post['id']?></b></td>    <td><b><?=$this->link_for($post['title'], "/posts/view/{$post['id']}"?></b></td>    <td><b><?=$post['created']?></b></td></tr><b><?PHP endforeach ?></b></table>



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。