ThinkPHP是什么?我也是这两天才了解,是PHP的一个框架.类似的框架还有FleaPHP/Openbiz等等.为什么会选择使用ThinkPHP来使用呢?因为有朋友正在使用它,所以我也使用它,这样大家可以互相交流,交流多了,学习起来也有乐趣.
有了框架,可以使我们写代码起来更容易,也更好的管理和维护整个系统项目,ThinkPHP是面向对象的.因此,使用ThinkPHP个人觉得有一定的方面性.但是如果是一个很小的程序的时候,用这么一个框架,就会觉得很不好用.因为框架的功能很多.操作起来,也并不是想象中的那么简单.
今天做的,是很简单的HELLO PHP.
首先是把ThinkPHP的文件放上服务器,然后创建创建Cache、Lib、Conf、Temp、Tpl、Logs这几个子目录,然后创建一个项目的入口文件:index.php.
以下是代码:
<?php
// 首先定义ThinkPHP系统目录,如果你把ThinkPHP所在路径添加到了
// PHP的include_path中,那么THINK_PATH可以无需定义。
define('THINK_PATH', './ThinkPHP');
// 定义网站根目录,因为入口文件位于网站根目录,所以直接使用当前路径定义
define('WEB_ROOT','.');
// 定义项目名称,如果不定义,默认为入口文件名称
define('APP_NAME', 'Hello');
// 定义项目路径
define('APP_PATH', './Hello');
// 加载ThinkPHP框架公共入口文件
require(THINK_PATH."/ThinkPHP.php");
//实例化一个网站应用实例
$App = new App();
//应用程序初始化
$App->init();
//启动应用程序
$App->exec();
?>
看起来和C#有那么一点相似,就是要初始化应用程序,也要把所在的命名空间包括在里面.但是比起C#,PHP似乎要写多很多东西.
在ThinkPHP框架中,访问是基于项目、模块和操作的概念,所以,在定义逻辑之前我们需要规划好应用项目的模块和操作,一个完整的URL访问地址应该是类似于:
[url]http://<serverName>/[/url][<appName>]/<项目入口文件>/<moduleName>/<actionName>
搞好了这些,就要开始编写类了.在Lib目录下的Action中加入IndexAction.class.php文件,在这里面加入类的声明以及类成员函数等等.
class IndexAction extends Action
{
// 定义index操作
function index()
{
$this->assign('var','Hello,PHP!');
$this->display()
}
}
//end class
完成了这些东西后,基本上是完成了,最后就是要建立一个HTML模版.
<html><body>
{$var}
</body></html>
这样可以说是全部完成了.打开页面,看到的就是Hello,PHP!
因为对这个框架也是刚刚接触到,觉得用起来还是一般,对大的项目没有测试过,所以没能领略到它的威力,如果是小开发来说,利用这么一个框架,还是觉得有些不适应.因为平时都是写一个类,然后把类包进所要的文件中,就可以使用,而且用起来也觉得很好,现在要用到框架,觉得很多地方都要利用到模版,所以很不习惯,希望慢慢学习下去,能真正体验到框架带来的快捷与好处.