ThinkPHP之初识

ThinkPHP 轻量级框架,国人框架,入门容易

thinkphp 3.2版本

‘URL_CASE_INSENSITIVE‘  =>  true,   // 默认false 表示URL区分大小写 true则表示不区分大小写,这句有BUG

解压tp打开可以看到下图:

其中ThinkPHP是核心,index.php是入口文件

点开ThinkPHP如下图:

点开Conf可以看到下图:

convention.php是核心配置文件,基本上所有的配置都在其中。

library是核心资源库,library中的Think囊括了tp中的大多数函数类:

创建入口文件:

  1. 在ThinkPHP目录下创建一个入口文件index.php

    // 检测PHP环境
    if(version_compare(PHP_VERSION,‘5.3.0‘,‘<‘))  die(‘require PHP > 5.3.0 !‘);//php版本大于5.3.0方可使用tp3.2
    // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为falsedefine(‘APP_DEBUG‘,True);
    
     // 定义应用目录 define(‘APP_PATH‘,‘./JiaoWu/‘); 
    
    // 引入ThinkPHP入口文件 require ‘./ThinkPHP/ThinkPHP.php‘;
  2. 访问入口文件的同时系统会自动把对应的应用目录文件JiaoWu创建出来
  3. 打开Home文件夹
  4. MVC模式

    M:Model 数据模型层,负责数据操作

    V:View 视图层,负责显示视图

    C:Controller 控制器,实现业务逻辑

  5. tp框架url地址可以由以下四种
    1. http://网址/index.php?m=XX&c=XX&a=XX   基本get模式
    2. http://网址/index.php/模块/控制器/操作方法  路径模式pathinfo
    3. http://网址/模块/控制器/操作方法           rewrite重写模式
    4. http://网址/index.php?s=/模块/控制器/方法    兼容模式

    具体url地址模式设置(配置文件ThinkPHP/Conf/convertion.php)

    URL_MODEL  =  0/1/2/3  分别代表四种url地址模式                                                              

config.php是我们当前自己项目的配置文件,我们可以通过修改该文件达到配置变量的目录

<?php
return array(
    //‘配置项‘=>‘配置值‘
    ‘SHOW_PAGE_TRACE‘       =>  TRUE,//显示TRACE信息
    ‘DB_DEBUG‘              =>  TRUE, // 数据库调试模式 开启后可以记录SQL日志
    ‘URL_MODEL‘             =>  1,       // URL访问模式,可选参数0、1、2、3,代表以下四种模式:
    // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE  模式); 3 (兼容模式)  默认为PATHINFO 模式
    ‘TMPL_L_DELIM‘          =>  ‘<{‘,            // 模板引擎普通标签开始标记
    ‘TMPL_R_DELIM‘          =>  ‘}>‘,            // 模板引擎普通标签结束标记
);

如果要自己创建一个控制器Main:在\Shop\Home\Controller文件夹下新建一个控制器文件MainController.class.php

注意:文件命名规则,按照驼峰法命名

打开该文件,在里面造控制器Main类

MainController.class.php
<?php
namespace Home\Controller; //命名空间
use Think\Controller; //引入父类命名空间
class MainController extends Controller{
    public function _before_showq()//前置操作方法
    {
        echo"之前 ";
    }    

    public function showq()
    {
        //echo $name." "."tianqiyubao";
        //echo "tianqiyubao";
        //echo C(‘URL_MODEL‘); //读取配置也可以来修改配置
        //C(‘URL_MODEL‘,1);
        //echo U("showq"); //生成路径
        echo $_POST["wenben"];
    }

    public function _after_showq()//后置操作方法
    {
        echo" 之后";
    }

    public function ceshi()
    {
        //$this->assign("tianqi","天气"); //注册变量
        //$this->display(); //调用ceshi模板
        var_dump(get_defined_constants(true));//获取系统常量信息,加true会分组显示
    }

    public function denglu()//实现两个逻辑,显示页面,实现登录
    {
        if(empty($_POST))//判断获取的post数组是否为空,为空代表显示页面
        {
          $this->display();
        }
        else  //实现登录
        {
            echo"登录成功";
        }
    }

}
denglu.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<form action="__ACTION__" method="post">//注意看这里的action:常量__ACTION__代替了之前的路径
用户名:<input type="text" name="uid" />
密码:<input type="password" name="pwd" />
<input type="submit" value="登录" />
</form>
</body>
</html>

ceshi.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<h1>tianqibuhao</h1>
<h1><{$tianqi}></h1>
<a href="/tp/index.php/Home/Main/showq/name/simon">调用显示</a>

<form action="/tp/index.php/Home/Main/showq" method="post">//注意看这里action哦,不是页面是具体的action操作方法
<input type="text" name="wenben" />
<input type="submit"  value="提交"/>
</form>
</body>
</html>

时间: 2024-10-26 05:00:59

ThinkPHP之初识的相关文章

thinkPHP框架之初识篇

安装框架 XAMPP:XML.Apache.MySQL.PHP.PERL LAMP : Linux.Apache.MySQL.PHP LNMP :Linux.Ningx.MySQL.PHP J2EE : 贵 linux命令 1.关闭系统自带apache sudo /usr/sbin/apachectl stop 2.查看Apache系统进程 ps -ef | grep httpd 3.查看MySQL进程 ps -ef | grep mysql 4.查看PHP版本 php -version 5.显

初识ThinkPHP

随时回来更新进度... 工程目录下设定入口文件 index.php: 1 <?php 2 // 检测PHP环境 3 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); 4 // 引入ThinkPHP入口文件 5 require ('./ThinkPHP/ThinkPHP.php'); 6 // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false 7 define('APP_DEB

ThinkPHP学习笔记(一)----初识ThinkPHP

在做微信开发的时候原本使用来yii框架,后续觉得yii虽然功能强大使用方便,但是整个框架太大了,不适合一些轻量级的开发:这个时候发现thinkphp这个框架,框架本身很小,只有几M,但麻雀虽小,但五脏俱全:目前有需要用到的功能think都支持,而且后者也支持自动生成代码,相比yii更灵活,而且这个东东还是国产的,各种api文档都有中文的,这对与楼主这种英语很菜的代码狗来说也算是一种福利. 扯了这么多,直接上一碗代码,让大家尝尝thinkphp的味道喽.... 一.下载基本框架 官网地址:http

初识thinkphp(4)

这次内容是数据库的使用方法 因为在第一章讲过就是拿index这个文件写的数据库的访问,这次实验我使用文件是系统默认的首页 配置的内容也在那里有提过就不重发戳图了. 数据库按照手册上的建议建了3行的内容(使用的SQLyog来进行连接的) 现在想想在配置databas.php这个文件时候有这么一段 当时想着这个有什么意义,我想这样大概能分模块引用数据库,不至于使得结构混乱 要访问数据库,要加上 use think\Db 接下来显示进行增删改查 <?php namespace app\index\co

初识thinkphp(5)

这次主要内容是模型的基本操作 0x01:什么是模型 通过手册的阅览,笼统的说就是,把打开数据库等操作在另一个php文件中进行 以及对变量的规则具体细节,查询,取值等操作进行定义,方便在控制器中直接使用. 0x02:模型的使用 在index目录下创建与controller同级的目录model 创建php模型文件,并调用think\Model文件 <?php namespace app\index\model; use think\Model; class User extends Model{ p

ThinkPHP框架快速开发网站

使用ThinkPHP框架快速搭建网站 这一周一直忙于做实验室的网站,基本功能算是完成了.比较有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.如果对于同样是Web方面新手的你有一丝丝帮助,那就更好了挖. 以前用PHP做过一个很蹩脚的网站,为什么这么说呢,因为写的全是死代码.做完以后觉得实在是累,前端要div+css,js 后端要php,mysql,这么多东西要弄,十分头疼.所以,在接到做网站的任务后,我第一时间想到一定要使用开发框架去做,绝不能跟以前一样那么累了. 我选择的是PHP

使用ThinkPHP框架高速开发站点(多图)

使用ThinkPHP框架高速搭建站点 这一周一直忙于做实验室的站点,基本功能算是完毕了.比較有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.假设对于相同是Web方面新手的你有一丝丝帮助,那就更好了挖. 曾经用PHP做过一个非常蹩脚的站点,为什么这么说呢,由于写的全是死代码.做完以后认为实在是累,前端要div+css,js 后端要php,mysql,这么多东西要弄,十分头疼.所以,在接到做站点的任务后,我第一时间想到一定要使用开发框架去做,绝不能跟曾经一样那么累了. 我选择的是PH

使用ThinkPHP框架高速发展网站(多图)

使用ThinkPHP框架高速搭建站点 这一周一直忙于做实验室的站点,基本功能算是完毕了.比較有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.假设对于相同是Web方面新手的你有一丝丝帮助,那就更好了挖. 曾经用PHP做过一个非常蹩脚的站点,为什么这么说呢,由于写的全是死代码.做完以后认为实在是累,前端要div+css,js 后端要php,mysql,这么多东西要弄,十分头疼.所以,在接到做站点的任务后,我第一时间想到一定要使用开发框架去做,绝不能跟曾经一样那么累了. 我选择的是PH

初识Python,望君多多关照

在学习Python之前,我们接触过数据结构和网页制作.前者让我们学习如何把C语言运用的更加整齐规范,而后者让我们亲身学习如何运用所学,制作一个静态网页.通过这些课程的学习,让我对C语言产生了比较大的压力,以至于对编程.对这学期的Python课程都有一种如临大敌的感觉. 但是真的学习了这门课程,体会了编码过程中的一些固定运用方法和套路之后,也许过程中对这门课程隐隐约约产生了一点点朦胧的感觉,仿佛他也并没有想象中的那么困难,起码现在的学习让我认为,他可能没有C语言那么繁琐和麻烦.当然,以一个初学者的