thinkPHP学习笔记之安装配置篇

 更新时间:2015年03月05日 14:36:29   转载 投稿:hebedich  
这篇文章主要介绍了一款国产MVC框架thinkPHP,这里讲诉的是thinkphp的安装与配置,以及一个简单实例,有需要的小伙伴可以参考下。

国产框架thinkPHP,是一款MVC框架,这个框架最初模拟JAVA的struts框架,使用单一入口文件模拟JAVA的过滤器,使用action来模拟STRUTS的控制器ACTION,所以为什么他的MVC之中,M是model,V是view,而control却是action的原因。

    在3.2.3版本中,control改成了C,也是趋于形式,因为JAVA世界的springMVC开始流行,spring使用的control,不在使用action这种定义,其实action来表示control本身就有一定的误导,control就C嘛,为什么来一个aciton,让人摸不着头脑。

   thinkphp最难理解的是他的访问方式,在官方文档上面讲解有点误导人,按照官文一定出错,是因为官文没有讲清楚!

   thinkphp的安装其实很简单,只要require他的主程序文件,就可以生成一些列的目录,但是URL与他的control、tpl的关系是什么呢?官文说得实在太含糊了,但凡使用过JAVA的人都会被官文忽悠到吐血!

   官文,能否条理清楚点!?

   实际使用过后总结了以下几点:

1,安装thinkphp:

和主程序thinkPHP同目录下建立 admin.php或者其他的名字都可以

复制代码 代码如下:

<?php
//定义项目名称和路径
define('APP_NAME', '');         //名字时空的时候,就是生成的文件夹前不加前缀
define('APP_PATH', './admin/');//这个是和主程序THINKPHP同目录下生成admin目录的意思
define('APP_DEBUG', true);//开始编辑模式,文件强制编译,不缓存
// 加载框架入口文件
require( "../ThinkPHP/ThinkPHP.php");//主程序入口文件

2,文件目录:

自动生成的文件目录是

common:写函数的地方

conf:配置文件,例如配置数据库连接地址

lang:语言包,国际化

lib:action,model都在这里面,是一个比较重要的地方,和JAVA的lib是JAR包完全不同概念

runtime:运行时的缓存文件

tpl:模板,就是html文件

3,访问方法:

URL:localhost/thinkphp/admin.php?m=Show&a=add

解释:本地/项目目录/刚才建立的单一入口文件?model=类名&action=方法名

意思:进入单一入口文件admin.php中的Show类中的add方法

强调:类名是大写开头,小写会找不到,这个把我害苦了,弄了一下午,原来是只认识大写类名,小写不认识

infopath风格URL:localhost/thinkphp/admin.php/Show/add

解释:和默认的一样,就是没有写出M A

4,写类,写方法:

thinkphp的作者一定是一个喜欢折腾的人,完美主义者,所以才会思考出这种方式来控制程序,整个程序都是以action类为核心,一个action类等于是一个页面,里面的方法就是和这个页面相关的操作,什么增删改查啊,这个很符合国人的思考方式,但是复用性并不高。

写文件:lib/action/ShowAction.class.php

复制代码 代码如下:

<?php
//Show就是类名,Action只是一个识别辅助,必须写,但是可以调用的时候忽略,记得大写哦,你小写他也给你换成大写开头,让你弄死找不到小写show的模块,m=Show
class ShowAction extends Action {
//add就是action的方法,a=add
    public function add(){
    //输出页面CC,他自动加载默认TPL目录下Show文件下的cc.html文件,这里如果没有cc,就加载方法名字一样的add.html,如果cc.html与add.html都没有就报错
        $this->display('cc');
    }
}

5,写模板:

上面提到了加载模板,现在就写一个:

tpl/Show/cc.html

复制代码 代码如下:

<html>一个普通HTML文件</html>

以上就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • PHP多维数组指定多字段排序的示例代码

    PHP多维数组指定多字段排序的示例代码

    本篇文章主要介绍了PHP多维数组指定多字段排序的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • php生成条形码的图片的实例详解

    php生成条形码的图片的实例详解

    这篇文章主要介绍了php生成条形码的图片的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • 浅谈使用 PHP 进行手机 APP 开发(API 接口开发)

    浅谈使用 PHP 进行手机 APP 开发(API 接口开发)

    做过 API 的人应该了解,其实开发 API 比开发 WEB 更简洁,但可能逻辑更复杂,因为 API 其实就是数据输出,不用呈现页面,所以也就不存在 MVC(API 只有 M 和 C),那么我们来探讨下,如何使用php进行手机API接口开发
    2014-08-08
  • php 批量替换程序的具体实现代码

    php 批量替换程序的具体实现代码

    这篇文章介绍了php 批量替换程序的具体实现代码,有需要的朋友可以参考一下
    2013-10-10
  • php preg_match的匹配不同国家语言实例

    php preg_match的匹配不同国家语言实例

    这篇文章主要介绍了php preg_match的匹配不同国家语言实例的相关资料,需要的朋友可以参考下
    2016-12-12
  • php根据身份证号码计算年龄的实例代码

    php根据身份证号码计算年龄的实例代码

    我们只要知道身份证的生成规则就可以了,像下面我们从指定位置到多少位就是出日期了,然后我们把日期转成时间戳然后进行加减运算就得出了年龄了,下面我们看实例
    2014-01-01
  • thinkPHP+LayUI 流加载实现功能

    thinkPHP+LayUI 流加载实现功能

    这篇文章主要介绍了thinkPHP+LayUI 流加载实现功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • 浅谈Laravel中的三种中间件的作用

    浅谈Laravel中的三种中间件的作用

    今天小编就为大家分享一篇浅谈Laravel中的三种中间件的作用,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Yii2框架使用计划任务的方法

    Yii2框架使用计划任务的方法

    这篇文章主要介绍了Yii2框架使用计划任务的方法,结合实例形式分析了Yii2框架下计划任务的具体使用技巧,需要的朋友可以参考下
    2016-05-05
  • PHP7+Nginx的配置与安装教程详解

    PHP7+Nginx的配置与安装教程详解

    本文分步骤,通过文字说明的形式给大家介绍PHP7+Nginx的配置与安装的相关知识,感兴趣的朋友参考下吧
    2016-05-05

最新评论