如何在sae上搭建thinkphp3.2的开发环境

 我来答
清淡又完满的小榜眼d
2016-08-08 · TA获得超过2973个赞
知道小有建树答主
回答量:813
采纳率:21%
帮助的人:445万
展开全部
下载框架
进入官网下载ThinkPHP ,这里选择 ThinkPHP3.1.3完整版。解压后目录为

把压缩包放在Web目录下面,所以我们需要在php的服务器软件xampp的htdocs目录下面建一个空文件夹hlm(项目名称自己随便取),然后在该文件夹下面再新建一个文件夹ThinkPHP,把目录里面的文件全部放在ThinkPHP里面。再新建一个Public文件夹存项目公共
的文件,如JS和CSS文件等。再新建一个项目文件夹home作为主要工程目录。

搭建本地项目
在项目目录下面新建,index.php文件

<?php
//定义项目名称
define('APP_NAME','home');
//定义项目路径
define('APP_PATH','./home/');
//开启调试模式
define('APP_DEBUG',true);
//加载框架入口文件
require'./ThinkPHP/ThinkPHP.php';
?>

开启apache服务器,访问网址 localhost://hlm出现如下界面

这个时候网站下面会自动生成目录,如下图所示:

配置路由

目前用到的目录是Lib下面的Action目录,存放类似于Java的Struts框架的Action。还有模板目录Tpl,下面存放的都是html文件,配合模板引擎用于前端显示。(在搭建环境的时候,有smarty模板引擎等开发经验和MVC框架的使用经验,可能更有助于理解)。然后在Action文件夹下面,新建一个AccountAction.class.php。命名规则为:模块名+class.php

<?php
class AccountAction extends Action
{
public function login(){
$this->display('login');
}
}

在Tpl目录下面放文件login.html用于显示。访问localhost/index.php/hlm/Account/login会跳转到login.html页面
这个是由于ThinkPHP采用了Pathinfo模式,控制器(模块)/动作采用在服务器新建文件.htacess,添加如下内容,可以重写路由,前提
是apache服务器下的httpd.conf的这一行注释去掉
LoadModulerewrite_module modules/mod_rewrite.so

<IfModulemod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

配置好重写规则,正则表达式^(.*)$ 匹配任意字符,=> index,php。意思是任意地址访问的实际地址是index.php,而网页上面不会显示,这个方法经常用于实现伪静态,意思是说将这个反过来,网页的地址看起来是个静态的地址*.html,实际上跳转到其他的地址上。
伪静态的好处是SEO友好,更容易让搜索引擎搜索到。
现在我们可以通过localhost/hlm/Account/login来访问了。
ThinkPHP还支持路由功能,路由功能意思也很简单,就是和配置.htaccess文件重写路由一样,控制页面跳转,显示地址和实际跳转地址不一样。左边是显示地址,右边是实际跳转地址。配置方法是在Conf文件夹的config.php文件中添加以下语句。

<?php
return array(
//'配置项'=>'配置值'
'URL_ROUTE_RULES'=>array(
'login$' => 'Account/login'
),);
?>

现在我们可以通过url为localhost/hlm/login来访问
后面添加$符号代表不模糊匹配,意思是login1不算匹配,只有完全一样才匹配。
重写路由我理解的好处是能够简化url访问链接。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式