ThinkPHP使用方法小记

系统:window 7 64位
Thinkphp版本:5.0.5
环境:wampserver集成

 

一、项目部署


1、虚拟主机部署/本地部署
去掉public/index.php改到 根目录下/index.php。在网站根目录下建立文件index.php,内容如下

这样基本上就可以了,这是最简单的配置。

2、服务器部署

服务器部署项目文件入口public ,优势:只给外人看到public目录下的文件,与public同级的文件,在外网是隐藏状态的,如:thinkphp、apps、extend、tests、vendor。更简单的意思就是通过域名是访问不到这些文件下内容的,但又不影响框架的使用。

 

二、创建模块(自动生成模块)

我的项目是部署在本地www/thinkphp 目录下。在做之前,先要考虑清楚,你需要几个模块来完成你的项目。

开始实例

1、创建三个模块 Common(公共模块),Home(前台模块),Admin(后台模块)。公共模块是必不可少的。

修改的情况下为public下的index.php,打开是这样子的

// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

在后面加上这两句

$build = include '../build.php';
// 运行自动生成
\think\Build::run($build);

build.php配置 (自动生成目录) 手册参考:http://www.kancloud.cn/manual/thinkphp5/118021

在项目的根目录有一个build.php文件,打开后看到是这样的

 ['common.php', 'config.php', 'database.php'],

    // 定义demo模块的自动生成 (按照实际定义的文件名生成)
    'demo'     => [
        '__file__'   => ['common.php'],
        '__dir__'    => ['behavior', 'controller', 'model', 'view'],
        'controller' => ['Index', 'Test', 'UserType'],
        'model'      => ['User', 'UserType'],
        'view'       => ['index/index'],
    ],
    // 其他更多的模块定义
];

然后我们给我们需要的文件名在这个地方加上,给的demo可以直接注释掉,如下

 ['common.php', 'config.php', 'database.php'],
    //公共模块目录
    'common' => [
        '__file__'   => ['common.php'],
        '__dir__'    => ['controller', 'model','lang'],
        'controller' => ['Index'],
        'model'      => ['Base'],
    ],
    // Index模块
    'home'     => [
        '__file__'   => ['common.php'],
        '__dir__'    => ['behavior', 'controller', 'model', 'view','lang'],
        'controller' => ['Index'],
        'model'      => ['Test'],
        'view'       => ['index/index'],
    ],
    // Admin 模块
    'admin'     => [
        '__file__'   => ['common.php'],
        '__dir__'    => ['behavior', 'controller', 'model', 'view','lang'],
        'controller' => ['Index'],
        'model'      => ['Test'],
        'view'       => ['index/index'],
    ],
 
];

1).其中的SITE_PATH,与 RUNTIME_PATH后面都有用到,所有优先放在index.php里面方便后面调用。

2).这两个东西,要放一起使用

$build = include './build.php';
// 运行自动生成
\think\Build::run($build);

三、创建基类

开干之前,得先设置好“基类”,为什么呢?打个比方,要访问会员中心相关的控制器,这类控制器是不是都要有一个“登录限制”,才让访问会员相关的控制器? 基类的作用就出来了...

1、创建三大基类

原始基类

位置:thinkphp\apps\common\controller\base.php
作用:base模块下的内容,Index模块,和Admin模块都可以调用
代码:

Index模块基类

位置:thinkphp\apps\common\controller\base.php
作用:Index模块下的控制器,都要“继承基类”并且“调用基类”
代码:

Admin模块基类

位置:thinkphp\apps\common\controller\base.php
作用:Admin模块下的控制器,都要“继承基类”并且“调用基类”
代码:

/**
 * 后台首页
 * */
namespace app\Admin\controller;
use app\Admin\controller\AdminBase;
class Index extends AdminBase
{
    public function _initialize()
    {
        parent::_initialize();
    }
    public function index()
    {
        return $this->fetch();
    }
}

(User模块基类,如果有会员的话,这个也必须要创建的)
创建基类的主要目的,就是“继承”与“调用

 

四、设置模板路径

默认的模板路径在模块/view文件里面。如果你觉得这样不太方便管理,想要把他设置Template目录下,可以这样做。

模板参数 ,能够影响的它参数,是当前模块下config.php template->view_path参数。
实际操作

1、配置共享参数

在apps/config.php设置一些参数,方便在Index或Admin模块下config.php调用。
apps/config.php,增加一些参数。

'template'               => [// 模板路径
        'view_path'    => 'template/',     // 就是这里
/**
     * 前台文件配置
     * Author: MR.zhou
     * */
    'index' => [
        // 模快名称
        'model_name' =>'index',
        // 默认模板文件名称
        'default_template' => 'default',       // 这里可以切换模块下的默认模板名称
    ],
    /**
     * 后台文件配置
     * Author: MR.zhou
     * */
    'admin'=>[
        // 模快名称
        'model_name' =>'admin',
        // 默认模板文件名称
        'default_template' =>'default',        // 这里可以切换模块下的默认模板名称
],

2、设置模板参数
index/config.php

'template'               => [
    // 模板路径
    'view_path'    => config('template.view_path').config('index.model_name').'/'.config('index.default_template').'/',
],

admin/config.php

 [
        // 模板路径
        'view_path'    => config('template.view_path').config('admin.model_name').'/'.config('index.default_template').'/',
    ],
];

扩展:

1.模板后缀view_suffix,它的影响
http://localhost/thinkphp/index/news/index/id/1212
http://localhost/thinkphp/index/news/index/id/1212.html

 

五、配置data文件夹

如果你看项目下的各种文件,有种乱七八糟的感觉的话,你就可以进行以下配置。
配置data文件夹的,整理各种文件,让看起来舒服些。

1、设置runtime文件夹
index.php

define('RUNTIME_PATH', __DIR__ . '/data/runtime/');

2、设置upload,存放上传图片、上传文件

3、设置static,存放jquery.js、bootstrap、一些效果插件什么的

// 视图输出字符串内容替换
'view_replace_str'       => [
    '__DATA__' => SITE_PATH.'data/',
    // 上传文件路径
    '__UPLOAD__' =>SITE_PATH.'data/upload/',
    //  静态文件路径 (如bootshop,js,css)
    '__STATIC__' =>SITE_PATH.'data/upload/',
    
],

4、定义模板文件路径,方便调用模板下的css、js、images

'view_replace_str'       => [
    // 模板文件路径
    '__TEMPLATE__' => config('template.view_path').config('index.model_name').'/'.config('index.default_template').'/',
    // 模板下的共享文件路径(css,js,images...)
    '__PUBLIC__' => SITE_PATH.'/'.config('template.view_path').config('index.model_name').'/'.config('index.default_template').'/public/',
],

模板页引用:

你可能感兴趣的:(Thinkphp)