首页 > PHP > Thinkphp Say Hello Everyone!
2009四月21

Thinkphp Say Hello Everyone!

呵,首先我用SVN下载Thinkphp,为啥用SVN?呵,为了以后更新方便啊。。

因为SVN的文件只要我不改根本的东西,不会冲突的不是。呵。。

svn co http://thinkphp.googlecode.com/svn/trunk thinkphp

然后,按照一个官方我个人最喜欢的教程类型(傻瓜型),开始走出我Thinkphp的第一步

教程地址如下:http://bbs.thinkphp.cn/viewthread.php?tid=4673&extra=page%3D1

学习一个框架最重要的地方,就是看一下他的内核,不过我一般比较懒,先跑起来东西再说吧,呵。。

//按照教程里的,先写入口文件
//一个入口文件的功能一般分为两点:一是引入框架主文件,另一个就是配一下CONF
define('THINK_PATH','./ThinkPHP');
define('APP_NAME','MyApp');
define('APP_PATH','./MyApp');
require(THINK_PATH.'/ThinkPHP.php');
$App = new App();
$App->run();

至于这个入口文件的每一句话干什么的,呵。有兴趣的同学可以去我给的地址看一下哈。人家写的比我的要详细的多了。

我的毕竟是抄的。呵。

那么,下面让我们去看一下框架最帅的一个文件吧,那么就是“ThinkPHP.php”文件。

发现个很好玩的地方

// ThinkPHP系统目录定义
if(!defined('THINK_PATH')) define('THINK_PATH', dirname(__FILE__));
if(!defined('APP_NAME')) define('APP_NAME', md5(THINK_PATH));
if(!defined('APP_PATH')) define('APP_PATH', dirname(THINK_PATH).'/'.APP_NAME);
if(!defined('RUNTIME_PATH')) define('RUNTIME_PATH',APP_PATH.'/Temp/');

那就是这些喽,如果不指定APP_NAME的话,其也是会给你生成一个默认的APP_NAME的啦。呵。

就是这句

if(!defined('APP_NAME')) define('APP_NAME', md5(THINK_PATH));

所以,在我看来哈。这个入口文件,最简单的写法就是:

//一个入口文件的功能一般分为两点:一是引入框架主文件,另一个就是配一下CONF
define('THINK_PATH','./ThinkPHP');
/*
define('APP_NAME','MyApp');
define('APP_PATH','./MyApp');
*/

require(THINK_PATH.'/ThinkPHP.php');
$App = new App();
$App->run();

同时,我dump一下,看生成的MD5文件是多少,因为权限的问题我的目录肯定不可写啦。

权限及MD5

权限及MD5

哈,那么下面我来开始写我的“Hello Everyone”,啥?你要看“Hello World”咋写?呃,这个,明天教你好吗?

// 我的名字和教程里一样叫MyApp,所以我现在在改MyApp/Lib/Action/IndexAction.class.php文件
// 本类小小子已经改过了,哈
class IndexAction extends Action{
    public function index(){
        header("Content-Type:text/html; charset=utf-8");
        echo "Hello Everyone!";
    }
}

这里顺便说一下,我改完竟然无法保存,原因嘛,很简单,同样是权限的问题。

于是

su
chmod -R 777 MyApp/

问题,搞定。

顺便提一下,我在论坛里复制作者的代码居然会出错,原因,大概可能和一些全角半角的东西有关。

于是我就手写了(手抄了)一份一模一样的。

包括他的SQL。呵。

create table think_form(
id smallint(4) unsigned not null auto_increment,
title varchar(255) not null,
content varchar(255) not null,
create_time int(11) unsigned not null,
update_time int(11) unsigned not null,
status tinyint(1) unsigned not null,
email varchar(50) not null,
primary key(id)
)engine=myisam default charset=utf8

奇怪。呵。。其实这个教程我今天已经看到第五章了,因为简单嘛。

不过写在博客里当然不可能有那么多了。加油加油。。

文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2009/04/21/200/
版权所有 © 转载时必须以链接形式注明作者和原始出处!

2 Responses to “Thinkphp Say Hello Everyone!”

  1. #1 Estoremap 回复 | 引用 Post:2009-04-21 23:41

    沙发,哈哈,我也打算学习php了

    [回复]

  2. #2 simaopig 回复 | 引用 Post:2009-04-21 23:53

    @Estoremap
    哈哈。好啊。来吧。 :wink:

    [回复]

发表评论

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)