thinkphp框架学习笔记(1)
利用假期简单学习一下tp框架。
- 入口文件
tp5中自带入口文件,位于public/index.php中,文件内容包括
<?php// [ 应用入口文件 ]// 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php'; ?>
这段代码的作用是定义一个入口地址,例如localhost/tp5/public
- 控制器
每一个模块都有属于自己的控制器,例如index中控制器位于application文件中的Index.php
在代码中我们可以做如下修改
<?phpnamespace app\index\controller;class Index {public function index($name = 'World'){return 'Hello,' . $name . '!';}
在访问url时例如localhost.tp5.com?name=....
name参数即输入的参数可控
控制器其中一个作用在于访问任何子文件时都需要先进入其中的控制器中
- URL和路由
url访问采用统一入口 url/index.php/模块/控制器/操作
例如我们输入www.tp5.com 首先默认进入的网址即www.tp5.com/index.php
如果需要控制入口地址 即需要访问控制器 在index.php中插入
<?php namespace app\index\controller;class Index {public function index(){return 'index';}public function hello($name=''){return 'love,' .$name. '!';} }
在url中输入url/index.php/index/index/hello/name/hsy
输出:love hsy
因此如果想访问index模块下的子程序 首先需要进入所属的控制器。
.htaccess
这个配置文件主要用来重写根目录,当用户访问网站时,这个配置文件可以将用户代入需要跳转的页面。
- 定义路由
按如上规则定义文件位置时,需要先进入他的控制器,在进入指定文件。
如果一个功能非常复杂的网站,每一个控制器下包含的文件会更多,因此定义路由可以简化其中的过程。
return [// 添加路由规则 路由到 index控制器的hello操作方法'hello/:name' => 'index/index/hello', ];
该路由规则表示所有hello
开头的并且带参数的访问都会路由到index
控制器的hello
操作方法。
此前url访问地址为index.php/index/index/hello/name/world
现在可以直接简化为index.php/hello/world
路由参数:return [ // 定义路由的请求类型和后缀 'hello/[:name]' => ['index/hello', ['method' => 'get', 'ext' => 'html']], ];
这里限制了请求方法为get并且只能以.html为结尾的文件。
路由变量
<?php namespace app\index\controller;class Blog {public function get($id){return 'cheak id='.$id;}public function read($name){return 'check name='.$name;}public function archieve($year,$month){return 'check'.$year.'/' .$month;} }
在一个控制器内添加查找项目
在application 下面的route.php中添加
return ['blog/:year/:month' => ['blog/archive', ['method' => 'get'], ['year' => '\d{4}', 'month' => '\d{2}']],'blog/:id' => ['blog/get', ['method' => 'get'], ['id' => '\d+']],'blog/:name' => ['blog/read', ['method' => 'get'], ['name' => '\w+']], ];
访问url/blog/5 查找id=5
转载于:https://www.cnblogs.com/sylover/p/11267449.html
thinkphp框架学习笔记(1)相关推荐
- SpringMVC框架--学习笔记(下)
接上篇:SpirngMVC框架--学习笔记(上):https://blog.csdn.net/a745233700/article/details/81038382 17.全局异常处理: 系统中异常包 ...
- SpringMVC框架--学习笔记(上)
1.SpringMVC入门程序: (1)导入jar包:spring核心jar包.spring-webmvc整合Jar包 (2)配置前端控制器:web.xml文件中 <?xml version=& ...
- mybatis框架--学习笔记(下)
上篇:mybatis框架--学习笔记(上):https://blog.csdn.net/a745233700/article/details/81034021 8.高级映射: (1)一对一查询: ①使 ...
- mybatis框架--学习笔记(上)
使用JDBC操作数据库的问题总结: (1)数据库连接,使用时创建,不使用时立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能. 设想:使用数据库连接池管理数据库连接. (2) ...
- JavaSE中Map框架学习笔记
前言:最近几天都在生病,退烧之后身体虚弱.头疼.在床上躺了几天,什么事情都干不了.接下来这段时间,要好好加快进度才好. 前面用了三篇文章的篇幅学习了Collection框架的相关内容,而Map框架相对 ...
- python表单提交的两种方式_Flask框架学习笔记之表单基础介绍与表单提交方式
本文实例讲述了Flask框架学习笔记之表单基础介绍与表单提交方式.分享给大家供大家参考,具体如下: 表单介绍 表单是HTML页面中负责数据采集功能的部件.由表单标签,表单域和表单按钮组成.通过表单,将 ...
- php框架费尔康,GitHub - majixian/study-phalcon: phalcon(费尔康)框架学习笔记
phalcon(费尔康)框架学习笔记 以实例程序invo为例(invo程序放在网站根目录下的invo文件夹里,推荐php版本>=5.4) 环境不支持伪静态网址时的配置 第一步: 在app\con ...
- [Spring+SpringMVC+Mybatis]框架学习笔记(四):Spring实现AOP
上一章:[Spring+SpringMVC+Mybatis]框架学习笔记(三):Spring实现JDBC 下一章:[Spring+SpringMVC+Mybatis]框架学习笔记(五):SpringA ...
- Samza框架-----学习笔记
Samza框架-----学习笔记 基本概念: 作业:是对一组输入流进行处理转化成输出流的程序. 分区: Samza的流数据单位既不是Storm中的元组,也不是Spark Streaming中的DStr ...
最新文章
- How to Use Git
- redissession有容量上限吗_传输线的功率容量
- 利用oc门或od门实现线与_景县专业门球场专用人造草坪甄选博翔远
- HBuilder X全局文件搜索和文件字符搜索快捷键
- 全款房抵押贷款利息和抵押率各是多少?
- 分享10 比较非常实用的 Docker技巧,欢迎收藏!
- Android开发者指南(29) —— USB Host and Accessory
- Python 3.6学习笔记(一)
- 如何让body背景图自适应浏览器窗口大小
- 正则表达式 - - - 补(爬虫正则之基础)
- AttributeError: 'NoneType' object has no attribute 'split' 报错处理
- 常用应用层传输协议和端口
- 数据库系统原理笔记:关系数据库设计
- Visual C++ 内存泄露检测工具(VLD)
- java ssh框架是什么_JAVA SSH框架介绍
- Mac系统如何一键返回桌面?
- 我国知识共享数学生态圈的发端历程
- 架构师工程攻城略地需要具备的八大核心能力
- 用HTML5+CSS3实现qq会员页面的仿制
- 不小心执行了rm -f 如何恢复
热门文章
- 技本功丨用短平快的方式告诉你:Flink-SQL的扩展实现...
- 设计模式的征途—1.单例(Singleton)模式
- Python中获取当前日期的格式
- Bzoj1899: [Zjoi2004]Lunch 午餐
- DBGridEh使用指南
- Unity设置播放模式下始终先执行指定的场景
- 网站地图sitemap.xml的格式
- 用CSV文件读写数据的两种方式(转)
- Microsoft Office Communications Server 2007部署以及客户端安装(详细)【一】
- 影响网络OA系统成功实施的技术因素浅析