tp学习那些年 程序员的样子ThinkPHP

thinkPHP框架使用方法

2018-01-05  本文已影响127人  bo_bo_bo_la

title: thinkPHP框架使用方法
date: 2018-01-05 20:30:44
tags:


1. thinkPHP思想

thinkPHP基于MVC思想,MVC是一种设计模式,他强制的使用应用程序的输入、处理和输出分开。MVC应用程序被分为三个核心部分:模型(model)、视图(view)、控制器(control),他们各自处理自己的任务。
例如:
<div align=center>

[图片上传失败...(image-7538ba-1515156835754)]

</div>

2. 单入口创建项目

<?php
    //单入口 ||  主入口 :路由分配
    
    //开启调试模式:部分做缓存
    define("APP_DEBUG",true);
    //定义项目名称
    define("APP_NAME","Index");
    //定义项目路径
    define("APP_PATH","Index/");
    
    //引入核心文件
    require "ThinkPHP/ThinkPHP.php";
?>

执行上述代码时,系统自动创建一个文件夹,里面包含的内容与系统封装的thinkPHP一样,而这里面的文件就是我们要写的代码。

[图片上传失败...(image-d688cc-1515156835754)]

3. 库目录结构(thinkphp)

 Lib/Think: 为Thinkphp框架核心目录

 Lib/ORG : 为Thinkphp框架自带扩展目录

4. 项目目录结构(home)

5. thinkPHP的访问规则

// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
    public function index(){
            $name = "DR";
            //将变量输出到模板
            //1、(不常用)
            $this->name = "DR";
            //2、(常用)
            $this->assign("height","183cm");
            $this->assign("showTime",$showTime);
            //加载index模板  默认加载
//          $this->display();   
            //加载到指定的模板  不加后缀
            $this->display("test");
    }

6. 控制器与模板之间的关系

            //加载到指定的模板  不加后缀
            $this->display("test");
            <ul>
            <!-- offset="1"从什么位置输出  length="2"输出几条 empty="暂时没有数据" 当数据没有的时候显示 -->
            <volist name="arr" id="val" offset="1" length="1" empty="暂时没有数据" >
                <li>姓名是:{$val.name},年龄是:{$val["age"]},身高是:{$val.height}</li>
            </volist>
            
            <foreach name="arr" item="val">
                <p>姓名是:{$val.name},年龄是:{$val.age},身高是:{$val["name"]}</p>
            </foreach>
            
            <!--
                gt : 大于
                egt: 大于等于
                lt: 小于
                elt: 小于等于
                eq: 等于
                neq: 不等于
                heq: ===
                nheq: !==
            -->
            <if condition="$num gt 5">
                num的值大于5
                <elseif condition="$num lt 5" />
                    num的值小于5
                <else />
                    num的值等于5
            </if>
        </ul>
        <!--对str进行加密-->
        {$str|md5};
        <hr />
        当前时间:{$nowTime|date="Y-m-d H:i:s",###}
        <hr />
        处理之后的时间:{$showTime}
        
        
        <for start="1" end="10">
            {$i} <br />
        </for>
        
        
        <switch name="randNum">
            <case value="1" break="1">{$randNum}的值等于1</case>
            <case value="2" break="1">{$randNum}的值等于2</case>
            <default />{$randNum}的值不是1,2
        </switch>
        
        <hr />
        <eq name="randNum" value="2">{$randNum}的值等于2</eq>
        
        <hr />
        {$randNum > 2 ? "大于2" : "小于2"}
        
        <hr />
        <!--in  ||  notin-->
        <in name="randNum" value="2,3,4,5">{$randNum}在值里面</in>
        <hr />
        <!--between-->
        <between name="randNum" value="2,5">
            {$randNum}在值2~5里面
            <else />
            {$randNum}的值等于1
        </between>
        
        <!--引入外部文件  后面不加后缀-->
        <include file="commonView" />
        <!--引入外部文件的时候,如果是外部文件夹里面的文件
            会生成类,要先引入里面的类
        -->
        <include file="Public:header" />
        <!--也可以用相对路径-->
        <include file="/ishuowww/Tpl/Public/header" />

7. 配置文件

<?php
    class ProductAction extends Action{
        function getUrlModel(){
            //实例化配置项  C()方法调用Conf里面的方法
//          echo C("URL_MODEL");
            //实例化自定义
//          echo C("name");
            echo C("height");
        }
    }
?>
 2. 如果有多个配置文件的话,可以通过“LOAD_EXT_CONFIG”=>"user"来进行配置

"LOAD_EXT_CONFIG" => "user", 在config.php里面配置

<?php
return array(
    //'配置项'=>'配置值'
//  "URL_MODEL" => 0
    "name" => "D2222",
    "age" => "19",
    //加入其他配置项文件
    "LOAD_EXT_CONFIG" => "user",
);
?>

8. 连接数据库

    //数据库配置信息
    'DB_TYPE'   => 'mysql', // 数据库类型
    'DB_HOST'   => 'localhost', // 服务器地址
    'DB_NAME'   => 'thinkphp', // 数据库名
    'DB_USER'   => 'root', // 用户名
    'DB_PWD'    => '', // 密码
    'DB_PORT'   => 3306, // 端口
    'DB_PREFIX' => '', // 数据库表前缀 
上一篇下一篇

猜你喜欢

热点阅读