thinkphp3.2 开发(一)

来源:互联网 发布:ww聊天软件下载 编辑:程序博客网 时间:2024/05/21 11:19
搭建框架:
1、thinkPHP官网下载thinkPHP3.2完整版
2、在本地创建一个PHP项目,thinkPHP3.2解压到该目录下
3、访问运行该PHP项目生成目录
需要注意的是生成目录的时候会在每个文件夹下都生成一个index.html,把不需要的删除就可以(处理view下的index.html)

thinkPHP3.2默认访问home模块下的index,如要自己创建模块并且默认访问该模块,须:
1、创建Admin文件夹与Home目录同级
2、复制Home的子文件夹到Admin下
3、在公共的目录Common下的config.conf配置如下:
'MODULE_ALLOW_LIST' => array('Home','Admin'),//模块名 ,我这里只有两个模块
 'DEFAULT_MODULE' => 'Admin',//默认访问模块

再来就可以把做好的页面整合到该项目中:
1、Admin下的view下创建Index文件夹,把写好的index静态页面放进来

2、IndexController.class.php中如下:

<?php
namespace Admin\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
        $this->display();
    }
}
?>

访问项目发现外部引入的文件都报404错误,路径没有找到,这时候可以在Common下的config.conf配置模板替换:

1、'TMPL_PARSE_STRING'  =>array(
'__PUBLIC__' => __ROOT__ . '/Public/', // 更改默认的/Public 替换规则
'__IMG__'     => __ROOT__ . '/Public/images/', // 增加新的JS类库路径替换规则

)

Public是与Application同级的目录文件,底下存放js、css以及图片文件

2、然后在页面引入;如:<script src="__PUBLIC__/js/jquery.min.js"></script>

 <img src="__IMG__/img_8.jpg" alt="230*230" width="230" height="230" >


引入公共HTML;如头部:

使用include引入公共html文件  <include file="./Application/Admin/View/Common/head.html" />

这时候再访问会发现顶部有一空行,这是因为PHP头部BOM的影响,我这里遇到的情况并且最快的解决方法就是使用PHP代码清除BOM。

把下面的代码复制到该项目的IndexController.class.php中,并访问项目,就会提示该项目下的哪些文件有BOM头,并且会显示是否清除。

<?php
if (isset($_GET['dir'])){ 
    $basedir=$_GET['dir'];  
}else{  
    $basedir = '.';  
}  
$auto = 1;  
checkdir($basedir);  
function checkdir($basedir){
if ($dh = opendir($basedir)) {
while (($file = readdir($dh)) !== false) {
if ($file != '.' && $file != '..'){
if (!is_dir($basedir."/".$file)) {
echo "filename: $basedir/$file ".checkBOM("$basedir/$file")." <br>";
}else{
$dirname = $basedir."/".$file;
checkdir($dirname);
}
}
}
closedir($dh);
}
}
function checkBOM ($filename) {
$contents = file_get_contents($filename);
$charset[1] = substr($contents, 0, 1);
$charset[2] = substr($contents, 1, 1);
$charset[3] = substr($contents, 2, 1);
if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {
if ($auto == 1) {
$rest = substr($contents, 3);
rewrite ($filename, $rest);
return ("<font color=red>BOM found, automatically removed.</font>");
}else {
return ("<font color=red>BOM found.</font>");
}
}else return ("BOM Not Found.");
}
function rewrite ($filename, $data) {
$filenum = fopen($filename, "w");
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
?>

到此空白行已解决


再来就是链接访问页面以及后台访问方法的问题:

a标签:<li><a class="nav-right" href="__APP__/Login/login">[登录]</a></li>
 <li><a class="nav-right" href="__APP__/Register/register">[免费注册]</a></li>

跳转至Register目录下的register页面

form表单:

<form method="post"  action="__APP__/Register/reg">

访问Register控制器中的reg方法

0 0
原创粉丝点击