一步一步循序渐进学习TP三(新手篇)

第五节 初步了解URL如何访问模块操作

通过前面的学习,我们已大概地明白了应用模块中的操作与模板如何对应。
而这一节将简单讲解如何通过URL来访问操作。由于我们要循序渐进,所以先只介绍下面章节要用到的知识,要想深入学习还请参看官方手册《URL设计和SEO支持》

TP支持四种URL访问方式,默认是智能模式,所以我们就这种模式进行简要说明。

智能模式下的URL基本结构是这样的
http://servername/appName/moduleName/actionName/params

你可以理解为
http:// 服务器地址 / 入口文件位置 / 应用模块名称 /具体操作名称/ GET变量参数

解释一下上面文字中所译的URL结构,
为什么appname项目名称我将它译成了入口文件位置:通常情况下,我们的入口文件index.php都是放在根目录中,这时项目名称就会被入口文件index.php所替代。在前几节里,我们已知道,一个Action文件就是一个应用模块,而应用模块中的每个方法(function)就是一个具体操作。因此,假如要访问我们实例中的Index模块下的index操作。地址应该是

http://127.0.0.1/index.php/Index/index

如果入口文件不是在服务器的根目录,而是在myapp目录下,那么入口文件位置就是 Myapp/index.php,此时上面的URL访问就相应要换成
http://127.0.0.1/Myapp/index.php/Index/index

这样说理应很清楚了,不过别让这么多index给混乱咯,对应URL的结构去明白每一个index的函义,同时注意大小写

简单实操:

1 打开Myapp/Lib/Action/IndexAction.class.php文件,在index这个function下再添加一个操作test

  1. <?php
  2. class IndexAction extends Action{
  3.     public function index(){
  4.         $array = array();
  5.         $array['name']    =    'thinkphp';
  6.         $array['email']   =    'liu21st@gmail.com';
  7.         $array['phone']   =    '12335678';
  8.         $value  =   'hello,ThinkPHP';
  9.         $this->assign('array',$array);
  10.         $this->assign('name',$value);
  11.         $this->display();
  12.     }
  13.     public function test(){
  14.         header("Content-Type:text/html; charset=utf-8");
  15.         echo '哈,访问正确!!';
  16.     }
  17. } // 类定义end
  18. ?>
复制代码

2 尝试对应URL结构,来访问这个test操作,如果能成功看到echo的文字。则这节我们又学会了多一点知识。

附加知识点:
    去掉URL里面的index.php
    要去掉URL里的入口文件index.php,使URL类似这样的形式    http://127.0.0.1/Index/index
    可以按官方手册所提供的方法进行如下操作。
    1 确认httpd.conf配置文件中加载了mod_rewrite.so模块
    2 AllowOverride None 将None改为 All
    3 打开Myapp/Conf/config.php文件,在配置的数组中添加一行:
    'URL_MODEL'=>2,
    在入口文件所在的同级目录下,新建一个.htaccess文件,内容是

  1.     <IfModule mod_rewrite.c>
  2.     RewriteEngine on
  3.     RewriteCond %{REQUEST_FILENAME} !-d
  4.     RewriteCond %{REQUEST_FILENAME} !-f
  5.     RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
  6.     </IfModule>
复制代码

如果你的服务器环境支持rewrite,使用http://127.0.0.1/Index/index就可以正常访问到Index模块的index操作了。
    此后我们的学习中用到的URL,都是假定你使用了rewrite的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值