进入 Myapp\Lib\Action 目录,里面有个 IndexAction.class.php 文件。该文件为刚才咱们运行入口文件 index.php 时系统自动生成的。打开该文件,其内容大体以下(方法内具体代码省略): php
<?php // 本类由系统自动生成,仅供测试用途 class IndexAction extends Action{ public function index(){ 具体代码略…… } } ?>
该文件已经演示了一个基于 ThinkPHP 的实际应用。 html
像上面这个 IndexAction.class.php 这样的特殊文件,称为控制器。该类文件一般位于 Lib\Action 下面,命名方式必须以“模块名+Action.class.php”样式来命名,如 IndexAction.class.php ,详细可参考《ThinkPHP 命名规范》章节。 mysql
一个控制器对应一个模块。如 IndexAction.class.php 就对应 Index 模块,相应的类名为 IndexAction ,如上面的例子: sql
class IndexAction extends Action
一个模块(类)里有多个方法,称之为“操做”。如上面例子的 index 方法: 数据库
public function index()
咱们更改上面的 IndexAction.class.php 为: 浏览器
<?php class IndexAction extends Action{ public function index(){ header("Content-Type:text/html; charset=utf-8"); echo "第一个例子测试!"; } } ?>
再次访问网站首页(入口文件): 缓存
http://127.0.0.1/html/myapp/index.php
浏览器显示内容为在 index 操做中输出的: app
第一个例子测试!
而不是原来的默认欢迎界面。 测试
要增长一个操做,只需在模块里增长一个定义为 public 的方法便可。在 IndexAction.class.php 里面新增长一个 test 操做: 网站
public function test(){ header("Content-Type:text/html; charset=utf-8"); echo "这是 test 操做"; }
要访问该操做,浏览器地址为:
http://127.0.0.1/html/Myapp/index.php/Index/test
浏览器输出以下:
这是 test 操做
打开项目配置目录 Conf ,里面有个 config.php 文件,该文件就是 ThinkPHP 系统配置文件。咱们将一些项目配置信息如数据库帐号密码等写入配置文件以供系统调用。 一个配置样例以下:
<?php if (!defined('THINK_PATH')) exit(); return array( //'配置项' => '配置值' 'DB_TYPE' => 'mysql', //使用的数据库类型 'DB_HOST' => 'localhost', 'DB_NAME' => 'test', //数据库名 'DB_USER' => 'root', //访问数据库帐号 'DB_PWD' => 'root123', //访问数据库密码 'DB_PORT' => '3306', 'DB_PREFIX' => 'dev_', //表前缀 'APP_DEBUG' => true, //调试模式开关 'TOKEN_ON' => true, //是否开启令牌验证 'URL_MODEL' => 1, //URL模式:0普通模式 1PATHINFO 2REWRITE 3兼容模式 ); ?>
'DB_PREFIX'=>'',
若是更改了配置选项,须要删除 Runtime 下面的缓存文件以使配置选项生效。
数据表前缀每每用于区分同一个数据库内的不一样系统的表。如安装了论坛,博客或者其余应用等不一样的系统板块,则为了区分表所属系统,每每加上前缀以区分。
下面列出了其余一些可能在项目中用获得的配置选项供参考:
'URL_PATHINFO_DEPR' => '/', //PATHINFO URL 模式下,各参数之间的分割符号 'DEFAULT_THEME' => 'default', //默认模板主题 'URL_HTML_SUFFIX' => '.html', //URL伪静态后缀设置 'DEFAULT_CHARSET' => 'utf-8', // 默认输出编码 'DEFAULT_TIMEZONE' => 'PRC', // 默认时区 'DEFAULT_AJAX_RETURN' => 'JSON', // 默认AJAX 数据返回格式,可选JSON XML ... 'APP_GROUP_LIST' => 'Home,Admin', //项目分组 'DEFAULT_GROUP' => 'Home', //默认分组 'COOKIE_EXPIRE' => 3600, // Coodie有效期 'COOKIE_DOMAIN' => '', // Cookie有效域名 'COOKIE_PATH' => '/', // Cookie路径 'COOKIE_PREFIX' => '', // Cookie前缀 避免冲突 'HTML_CACHE_ON' => false, //默认关闭静态缓存 'HTML_CACHE_TIME' => 60, //静态缓存有效期 'HTML_READ_TYPE' => 0, //静态缓存读取方式 0 readfile 1 redirect 'HTML_FILE_SUFFIX' => '.shtml', //默认静态文件后缀 'ERROR_MESSAGE' => '您浏览的页面暂时发生了错误!请稍后再试~',//错误显示信息,非调试模式有效 'ERROR_PAGE' => '', // 错误定向页面
以上参数配置是基于 ThinkPHP 的系统配置参数,在项目建设过程当中,有时候会有本身的个性化配置参数,个性化配置参数也能够写入配置文件里:
'SITE_TITLE' => '我爱开发网', //网站title
在操做里或者模板里,能够经过 ThinkPHP 提供的 C 方法方便的取出配置参数:
public function getConfig(){ header("Content-Type:text/html; charset=utf-8"); echo C('SITE_TITLE'); //输出:我爱开发网 }
ThinkPHP 为一些经常使用的操做定义了快捷方法,这些方法以单字母命名,如上面例子中取配置信息的 C 方法。
咱们在访问一个基于 ThinkPHP 的应用时, ThinkPHP 会首先加载系统默认配置选项。 系统默认配置文件为 ThinkPHP 核心包 ThinkPHP/Common 目录内的 convention.php 文件。加载了系统默认配置后再加载项目配置文件 Conf/config.php 里的配置以覆盖 convention.php 里面的配置。因此当须要修改项目的个性化配置时,修改项目目录内的配置文件 Conf/config.php 便可。