您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 第8章-ThinkPHP框架
第八章ThinkPHP框架•ThinkPHP目录结构•ThinkPHP配置•ThinkPHP基本使用•管理员登录•列表功能•数据的增删改查【案例39】ThinkPHP简单使用【案例40】管理员登录【案例41】创建专业和班级【案例42】学生列表功能【案例43】学生添加功能目录【案例44】学生信息修改【案例45】学生删除功能目录案例分析需求分析:•在开发一个WEB项目的时候,项目负责人往往需要考虑很多事情。例如开发时文件的命名规范、文件的存放规则,并提供各类基础功能类。这些准备工作是十分重要且消耗时间的,那么有什么办法可以帮助我们快速完成项目基础搭建呢?【案例39】ThinkPHP简单使用设计思路:(1)下载ThinkPHP框架包,选择当前官方最新发布的ThinkPHP3.2.3完整版。(2)解压ThinkPHP框架包,了解其目录结构。(3)在Apache服务器上部署ThinkPHP框架。(4)运用ThinkPHP实现查看服务器信息的功能。(5)编写HTML模板文件,用于展示服务器信息。案例分析【案例39】ThinkPHP简单使用案例展示【案例39】MVC的工作流程http请求ModelView调用数据调用数据库网页模板返回HTMLController【案例39】ThinkPHP简单使用知识点讲解1、MVC框架2、ThinkPHP目录结构3、ThinkPHP基本使用【案例39】ThinkPHP简单使用1、MVC框架(1)控制器•控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型去处理请求,然后再确定用哪个视图来显示返回的数据。【案例39】ThinkPHP简单使用1、MVC框架(2)模型•模型表示数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。【案例39】ThinkPHP简单使用1、MVC框架(3)视图•视图是用户看到并与之交互的界面,模型获取的数据最终通过视图展现给用户。【案例39】ThinkPHP简单使用2、ThinkPHP目录结构•我们已经知道Application是应用目录,保存了所有的应用文件,该目录的结构大致如表8-1所示。【案例39】ThinkPHP简单使用文件路径文件描述\Application\Common应用公共模块\Application\Common\Common应用公共函数目录,为Application目录下的所有模块提供公共函数\Application\Common\Conf应用公共配置文件目录,为Application目录下的所有模块提供公共配置\Application\HomeThinkPHP框架默认生成的Home模块\Application\Home\Conf模块配置文件目录,为Home模块提供配置信息\Application\Home\Common模块函数公共目录,为Home模块提供公共函数\Application\Home\Controller模块控制器目录\Application\Home\Model模块模型目录\Application\Home\View模块视图目录\Application\Runtime运行时目录\Application\Runtime\Cache模板缓存目录\Application\Runtime\Date数据目录\Application\Runtime\Logs日志目录\Application\Runtime\Temp缓存目录【案例39】ThinkPHP简单使用2、ThinkPHP目录结构•而ThinkPHP框架的核心文件都在ThinkPHP下,框架核心目录ThinkPHP的结构如表8-2所示。【案例39】ThinkPHP简单使用2、ThinkPHP目录结构•表8-2中,\ThinkPHP\Conf目录是ThinkPHP的核心配置目录,其中包含了ThinkPHP惯例配置文件,该文件中包含数据库连接信息、ThinkPHP默认设定、URL访问模式等默认配置。•\ThinkPHP\Library\Think是核心ThinkPHP类库包目录,其中包含了App.class.php(应用程序类)、Controller.class.php(控制器基类)、Model.class.php(模型基类)、View.class.php(视图基类)等ThinkPHP运行所需的基础类文件。【案例39】ThinkPHP简单使用2、ThinkPHP目录结构•\ThinkPHP\Library\Vendor是第三方类库目录,其中包含了许多第三方提供的功能类文件,如Smarty模板引擎。【案例39】ThinkPHP简单使用知识点讲解1、MVC框架2、ThinkPHP目录结构3、ThinkPHP基本使用【案例39】ThinkPHP简单使用3、ThinkPHP基本使用•需要注意的是,assign()方法必须在display()方法前调用,分配的变量数据才能显示到视图中。【案例39】ThinkPHP简单使用3、ThinkPHP基本使用(2)display()•ThinkPHP使用display()方法来显示视图,display()方法有三种形式,如表8-3所示。【案例39】ThinkPHP简单使用3、ThinkPHP基本使用(2)display()用法示例描述不带任何参数$this-display()系统会自动定位当前操作的模板文件[模块@][控制器:][操作]$this-display(Admin@Index:index)表示会输出Admin模块下的View目录下的Index目录下的index.html文件完整的模板文件名$this-display(./Temp/Public/index.html)表示输出项目根目录下的Temp目录下的Public目录下的index.html文件,注意使用这种方式一定要加上视图文件后缀。【案例39】ThinkPHP简单使用3、ThinkPHP基本使用(3)显示变量•在使用assign()方法为视图变量赋值后,就可以在视图文件中输出变量了。输出变量可以使用PHP原生语法,例如:•也可以使用标签语法输出变量,因为ThinkPHP默认情况下提供了类似Smarty的模板引擎技术ThinkTemplate,该模板引擎输出变量的语法如下:?phpecho$name;?{$name}【案例39】ThinkPHP简单使用案例分析需求分析:•在学生管理系统中,首先需要实现一个管理员登录功能。该功能是为了防止没有权限的人任意登录学生管理系统进行操作。下面就使用ThinkPHP框架对这一功能进行快速开发。【案例40】管理员登录设计思路:(1)创建管理员表,插入管理员信息。(2)在配置文件配置数据库连接信息。(3)创建Admin模块用于开发后台功能。(4)在Admin模块中创建后台登录控制器,编写index()方法。(5)编写login()方法,该方法用来验证管理员是否合法。(6)编写login.html视图文件,该文件提供管理员登录表单。案例分析【案例40】管理员登录案例展示【案例40】Admin模块【案例40】管理员登录1、配置文件•ThinkPHP框架采用多个配置文件目录的方式,来协同控制框架的相关功能,其中主要配置文件的说明如表8-4所示。【案例40】管理员登录1、配置文件配置文件路径说明惯例配置\ThinkPHP\Conf\convention.php按照大多数的使用对常用参数进行了默认配置应用配置\Application\Common\Conf\config.php应用配置文件也就是调用所有模块之前都会首先加载的公共配置文件,提供对应用的基础配置调试配置\Application\Common\Conf\debug.php\Application\Common\Conf\debug.php如果开启调试模式的话会自动加载框架的调试配置(ThinkPHP\Conf\debug.php)和应用调试配置(Application\Common\Conf\debug.php)模块配置\Application\当前模块\Conf\config.php每个模块会自动加载自己的配置文件【案例40】管理员登录1、配置文件•ThinkPHP的配置文件是自动加载的,配置文件之间的加载顺序为:惯例配置-应用配置-调试配置-模块配置。•由于后面的配置会覆盖之前的同名配置,所以配置的优先级从右到左依次递减。•ThinkPHP采用这种设计,是为了更好地提高项目配置灵活性,让不同模块能够根据各自需求进行不同配置。【案例40】管理员登录知识点讲解1、配置文件2、常用配置3、URL生成4、跳转方法【案例40】管理员登录2、常用配置(2)默认访问配置•默认情况下,访问ThinkPHP的入口文件index.php,总是会访问到Home模块下的Index控制器的index操作。这是在惯例配置文件中默认定义的,我们可以通过修改配置文件来改变默认访问的操作。•打开文件\Application\Common\Conf\config.php,具体修改代码如下:?phpreturnarray('DEFAULT_MODULE'='Admin',//默认模块'DEFAULT_CONTROLLER'='Login',//默认控制器名称'DEFAULT_ACTION'='checkLogin',//默认操作名称);【案例40】管理员登录2、常用配置•此时访问入口文件index.php,就会访问到Admin模块下的Login控制器的checkLogin操作。(3)URL访问模式配置•所谓URL访问模式,指的是以哪种形式的URL地址访问网站。ThinkPHP支持的URL模式有四种,如表8-5所示。【案例40】管理员登录2、常用配置URL模式URL_MODEL设置示例普通模式0=home&c=user&a=loginPATHINFO模式1模式2兼容模式3=/home/user/login•URL访问模式的意义在于:可以通过ThinkPHP提供的U方法自动生成指定统一格式的URL链接地址。【案例40】管理员登录3、URL生成•由于ThinkPHP提供了多种URL模式,为了使代码中的URL根据项目的实际需求而改变,ThinkPHP框架提供了一个能够根据当前URL模式生成相应URL地址的函数:U方法,其语法格式如下:•一般仅需要填写第一个参数“地址表达式”即可,具体实例如下:U('地址表达式',['参数'],['伪静态后缀'],['显示域名'])U('User/add');//生成User控制器的add操作的URL地址U('Blog/read?id=1');//生成Blog控制器的read操作并且id为1的URL地址U('Admin/User/select');//生成Admin模块的User控制器的select操作的URL地址【案例40】管理员登录知识点讲解1、配置文件2、常用配置3、URL生成4、跳转方法【案例40】管理员登录4、跳转方法•在应用开发中,经常会遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。•系统的\Think\Controller类内置了两个跳转方法success()和error(),用于页面跳转提示。【案例40】管理员登录4、跳转方法•而error()方法用于在操作失败时的跳转,其参数和
本文标题:第8章-ThinkPHP框架
链接地址:https://www.777doc.com/doc-5621515 .html