Heim > php教程 > php手册 > Cake:让PHP也跑在铁轨上

Cake:让PHP也跑在铁轨上

WBOY
Freigeben: 2016-06-21 09:11:25
Original
1344 Leute haben es durchsucht

Cake是一个根据Ruby on Rails而架构的php 框架。和RoR一样,Cake也封装了对数据库的操作。目前Cake还不算一个成熟的框架,但是已经很值得关注了。

下边介绍下怎么在WAMP上安装Cake。

首先下载Cake Latest version: 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/"
ServerName cake.com
ErrorLog logs/cake.com.error_log
CustomLog logs/cake.my.com common


AllowOverride all
Order allow,deny
Allow from all

在 C:WINDOWSsystem32driversetchosts中加入一行本地host

127.0.0.1 cake.com

然后重启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());
Nach dem Login kopieren
Nach dem Login kopieren
Cake是基于MVC模式的。创建一个应用时,我们先创建它的Model。
Nach dem Login kopieren
<pre class="brush:php;toolbar:false"><small>app/models/post.php</small><?PHPclass Post extends AppModel {}?>
Nach dem Login kopieren
然后创建Control
Nach dem Login kopieren
<pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><small>app/controllers/posts_controller.php</small><?PHPclass PostsController extends AppController {}?>
Nach dem Login kopieren
在其中加入index方法:
Nach dem Login kopieren
<pre class="brush:php;toolbar:false">app/controllers/posts_controller.php (fragment)function index () {}
Nach dem Login kopieren
最后创建view
Nach dem Login kopieren
<pre class="brush:php;toolbar:false"><small>app/views/posts/index.thtml</small>
Nach dem Login kopieren
post->find_all() as $post): ?>
ID Title Created
=$post['id']?> =$this->link_for($post['title'], "/posts/view/{$post['id']}"?> =$post['created']?>
这样一个应用就完成了。
Nach dem Login kopieren
<pre class="brush:php;toolbar:false">输入http://cake.com/posts/index 即可访问到我们刚才创建的程序。
Nach dem Login kopieren
<pre class="brush:php;toolbar:false">IDTitleCreated1The title2005-05-23 09:30:342A title once again2005-05-23 09:30:353Title strikes back2005-05-23 09:30:35
Nach dem Login kopieren



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage