ThinkPHP框架入门:ThinkPHP框架,是由中国人自行开发的一款PHP框架,其主要运用了面向对象的开发结构和MVC设计模式。
框架应用
工欲善其事,必先利其器。
要应用ThinkPHP框架,我们就必须要下载该框架文件。
下载地址:http://www.thinkphp.cn/down.html
值得一提的是,网上许多的ThinkPHP教学视频都比较老旧,但这并不意味着这些视频不值得去看,它只是针对的ThinkPHP3.1.2的版本
所以,如果你感觉看手册十分无趣的话,你可以下载3.1.2版本的框架,然后去网上搜索一些视频
框架学习
每一款ThinkPHP框架都具备相应的手册,由于该框架是国产的,所以手册都是中文的,很容易看懂
手册阅读地址:看云(http://www.kancloud.cn/) ——http://www.kancloud.cn/search?keyword=thinkPHP
手册网(http://www.shouce.ren/) ——http://www.shouce.ren/api/thinkphp3.2.3/
而且许多的教学网上也有很多的的教学视频
比如:慕课网(http://www.imooc.com/) ——http://www.imooc.com/learn/245
框架入门(以ThinkPHP3.2.3为例)
将框架文件下载解压后如图所示
此时,我们应当建立一个入口文件
何为入口文件?
入口文件就是你用ThinkPHP搭建了一个项目,那么该如何访问这个项目呢?不错,就是访问这个项目的入口文件。
你可以将你的入口文件任意取名,这都无所谓,只是我们习惯性地将其命名为 index.php
在index.php这个入口文件中,我们不需要写很多的代码
这个入口文件所起的作用就是有三点:
1.载入框架入口文件 (必须)
2.定义框架路径、项目路径、项目名称 (可选)
3.定义调试模式和运行模式的相关变量 (可选)
一般来讲,我们都会定义这三条内容。
在这里我给大家演示一下只定义载入框架入口文件的效果:
然后,在浏览器中运行一下,效果如下:
然后再看一下文件夹:
你就会发现,文件夹中多了三个文件:Common、Home、Runtime
这是ThinkPHP框架为我们自动生成的三个文件夹
但是我们希望我们的代码文件和入口文件框架文件分开来,并为其取一个符合项目的名字,那该怎么办呢?
这就需要用到我们上述的第2条内容了,即定义框架路径、项目路径和项目名称
例如:我们想在该目录下建立一个名为APP的文件夹,我们除框架文件和入口文件之外的所有的项目代码都在这个文件夹中,我们应该如何定义呢?
(需先将之前ThinkPHP框架自动生成的文件夹全部删除)
这样定义之后,我们再来看看我们的文件夹又变成什么样子呢?
如图所示,这里多了一个名为APP的文件夹,这正是我们所定义的
那让我们再来看看该文件夹中有些什么吧:
不出我们所料,这正是之前我们所看到的ThinkPHP为我们自动生成的项目文件
入口文件已经写好,项目目录也已经创建好,那么接下来就是写代码了。
ThinkPHP框架运用的是MVC模式,即M(模型层)——V(视图层)——C(控制层)分离
Common文件下是一些配置文件,用来配置一些变量什么的
Home文件是我们主要代码文件,其中包含着M、V、C三层的文件
Runtime是运行缓存文件
在这里我主要讲一些C层和V层的入门。
那么先让我们看看Home文件夹的目录吧:
控制层代码是写在Controller文件夹下的,框架已经为我们自动建立了一个IndexController.class.php文件
视图层代码是写在View文件夹下的。
当控制层的文件是IndexController.class.php文件时,视图层的代码应该是先建立一个名为Index的文件夹,然后再在文件夹中建立相应的html文件,html文件的名字是根据你控制层文件中的方法名来确定的。
比如你IndexController.class.php文件中有一个index方法,那么Index文件夹中的html文件就应该是index.html文件
至于如何从控制层将数据传入到视图层,这就运用到了类似smarty模板的技术
具体情况如图:
值得注意的是,assign()方法中,后面的参数传入的是我们要传输的数据,前面的参数是给该数据定义一个名字一在视图层模板中使用
而在视图层吃模板中使用控制层传来的数据需要将传来的数据的名字加一个$符号,并用{}将其包含在内
顺便提一下模型层,这一层主要是和数据库进行数据交互,然后由控制层将模型层取来的数据传输到视图层。