ThinkPHP3.2.2的实践(一)

0 篇文章 0 订阅

今天不是很爽~ISCC的Web题做不出来,默默的继续看ThinkPHP~

0x01

ThinkPHP是一个基于MVC模型的PHP框架 T_T(编不出来了,搬运下官网的简介)

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

官网的教程基于3.1,由于3.2的改动还是挺大的,开始还是让我恼火了一阵子。希望在实践中掌握PHP,MVC。龙门阵结束,准备干货。


0x02
部署自己的开发环境

PHP5+MySQL+Apache2 教程很多,不会找下度娘

ThinkPHP3.2.2 :www.thinkphp.cn/download/543.html

IDE 推荐PHPStrom

在/var/www 文件下生成自己的项目 借用战队的名字MorNing

将解压出来的ThinkPHP文件复制到你的项目文件夹

建立自己的入口文件  localhost/MorNing/index.php

<?php
/**
 * Created by PhpStorm.
 * User: LGrok
 * Date: 4/27/14
 * Time: 10:12 PM
 */
define("APP_NAME","Index");                              #定义项目名称
define("APP_PATH","./Index/");                           #定义项目目录
define("APP_DEBUG",TRUE);                                #开启调试模式
require "./ThinkPHP/ThinkPHP.php";                       #调用这个php文件,它会自动生成ThinkPHP的目录结构
?>

看到这个图像说明你已经可以使用ThinkPHP啦


0x03

MVC<=>(Module,View,Controller) 通过将项目分解为模块和视图两部分,使用控制器作为链接,实现数据和展示的分离。ThinkPHP中使用入口进入控制器,作为访问项目的唯一入口即所有操作都是从入口开始的。

实践开始

修改./Index/Home/Controller/IndexController.class.php

将其中的index 方法改为:echo “hello home";

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
        echo "hello home";
    }
}
这个就是改变了控制器的index方法,访问入口文件,会调用视图模版并执行Index的index()方法。这时你的浏览器会显示出   hello home

这是最简单的MVC方式,引出ThinkPHP的调用逻辑。

ThinkPHP规定的URL访问规则是 :域名/入口文件/模块/控制器/方法/参数/值

上面的例子中localhost/index.php  由于默认访问等价于访问  localhost/MorNing/index.php/Home/Index/index  你会发现和我们访问入口文件的结果是一样的。

MVC的基本调用逻辑是,用户提出控制请求,控制器使用对应的方法对数据进行处理之后渲染(塞到)对应模版的规定位置。因为这时我们的Index模版为空,所以渲染之后打印了hello home到面板上。


0x04

多入口绑定

有时不同的项目需要不同的入口,比如管理员和普通用户,这时可以将入口文件和模块绑定起来。

实践开始

之后在index.php的同级目录下,使用同样的方法生成Admin模块,这次不需要定义项目名,只需要绑定模块。

<?php
/**
 * Created by PhpStorm.
 * User: LGrok
 * Date: 4/27/14
 * Time: 10:12 PM
 */
define("BIND_MODULE","Admin");                              #绑定模块
define("APP_PATH","./Index/");
define('BUILD_CONTROLLER_LIST','Index,User,Menu');          #生成需要包含的控制方法
define('BUILD_MODEL_LIST','User,Menu');                     #生成需要的子模块
define("APP_DEBUG",TRUE);
require "./ThinkPHP/ThinkPHP.php";
?>

这样就可以通过localhost/MorNing/Admin.php直接访问Admin模块,相比localhost/MorNing/index.php/Admin要方便快捷,好像更加便于管理,因为还没有往后面学习只有这些体会。



code over~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值