thinkphp3.2v
1.thinphp环境搭建
一、将thinkphp文件拿出来,对我们有用的是cof和library,其他对开发都没有作用。
在thinkphp/library/think文件夹中几个重要的文件
1、App.class.php 框架的核心文件
2、think.class.php 每次请求都要执行的类
3、controller.class.php 控制器的父类
4、Model.class.php 模型的父类
5、view.class.php视图的父类
二、真实开发中主要的是生成application,生成方法:
在thinkphp外面新建一个index.php代码如下
<?php
echo "<mata charset='utf-8'/>";
define("APP_DEBUG",true);//开启调试模式
define("APP_PATH","./Application/");//app_path默认写法 第二个参数./目录名Application或Home
require"./ThinkPHP/ThinkPHP.php";//使用一下ThinkPHP.php
?>
3、创建控制器
1.控制器存在Controller文件夹内
2、命名规范:控制器的名称+Controller.class.php
3、 类名和文件名称要一致
4、类名要用驼峰方法即帕斯卡命名法:
1、帕斯卡命名法:首字母大写 UserName
2、骆驼命名法:user_name
5、尽量区分大小写
6、thinkphp默认的编码UTF-8
7、如果地址没有写控制器则默认调用index控制器,如果没有写方法,则默认为index方法
原有的控制器代码如下
<?php
// 本类由系统自动生成,仅供测试用途
namespace Home\Controller;//由于前面application已经命名了所以命名就是home下的controller
use Think\Controller; //应用think文件夹下的controller类
class IndexController extends Controller {
public function index(){
$this->display("./Application/Home/index.html");//可以不写,也可以写绝对路径
}
public function show(){
$this->display();//不写的话就是一个控制器对应一个文件夹,一个方法对应一个文件,
}
}
新建控制器GoodController
4、thinkphp路由
http://网址/入口文件(index.php)/分组(平台)/控制器/方法
比如:http://localhost/index.php/home/index/index.html
thinkphp路由的几种方法
1、普通模式
http://localhost/index.php?m=home&c=good&a=index //m是平台 c控制器 a文件
2、pathinfo模式
http://网址/入口文件(index.php)/分组(平台)/控制器/方法
比如:http://localhost/index.php/home/index/index.html
3、rewrite()重写模式
4、兼容模式
http://localhost/index.php?s=/home/good/show
<?php
// 本类由系统自动生成,仅供测试用途
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){
$this->display()//当前控制器的当前模板
$this->display("./Application/Home/index.html");//可以不写,也可以写绝对路径
}
public function show(){
$this->display();//不写的话就是一个控制器对应一个文件夹,一个方法对应一个文件,
}
}
5、定义和调用模板
模板一般都是在view中
规则:一个控制器对应一个文件夹,一个方法对应一个文件
6、后台搭建项目
系统常亮:
1、 echo "当前请求地址:".__SELF__."BR";当前请求地址:/index.php?s=/home/good/showBR
2、__MODUL__; 当前分组/index.php/Home
3、__CONTROLLER__; 当前控制器为/index.php/Home/Good
4、__ACTION__;当前方法为/index.php/Home/Good/show
代码:
namespace Home\Controller;
use Think\Controller;
class GoodController extends Controller{
public function index(){
$this->display();
}
public function show(){
// $this->display();
// var_dump(get_defined_constants(true));系统自带的指令
echo "当前请求地址:".__SELF__."<BR>";
echo __MODULE__;
echo __CONTROLLER__;
echo __ACTION__;
}
1、在aplication文件夹内新建一个Admin文件夹
2、在Admin文件夹内新建一个Controller文件夹和view文件夹
3、在controller里面新建一个控制器LoginController.class.php并且在view中新建一个对应的文件夹Login,然后在login文件夹内新建一个login.html作为登录页面
LoginController.class.php 代码如下
<?php
namespace Ademin\Controller; //前台用home 后台是Admin
use Think\Controller;
class LoginController extends Controller{
public function login(){
$this->display();
}
}
?>
在admin里面新建一个文件夹public作为公共的css和js文件
其中路径为img src="/Application/Admin/public/img/admin.peng"
点击登录跳转方式
<form action="路径位置“>
项目目录
链接数据库操作
thinkphp3.2v的更多相关文章
- thinkphp3.2.3中U()方法和redirect()方法区别
今天博主看3.1的教程,学着3.2,就遇到了这个坑,怎么就是不跳转呢,很纳闷!! 在thinkphp3.1 中 U()方法是可以执行跳转的(看视频教程里面是可以的,博主没有测试过). 但是在think ...
- thinkphp3.2.3版本文件目录及作用
下载thinkphp3.2.3版本,解压缩后将文件夹名字改为thinkphp,然后放在www目录下,里面的文件夹和文件的名字和作用如下:(前面有Tab健的表示下一级,thinkphp是根目录) //t ...
- 基于ThinkPHP3的微信平台开发_1
微信公众平台是个好东西,具体的就不说了,我直接说技术>_< 下图为目录结构一览: 微信开发 - 文件目录结构 平台功能: 此次开发的平台是面向多微信公众号.微信多公众号主(下面简称号主)的 ...
- Thinkphp3.2.3使用Ajax一定注意 数据返回
Thinkphp3.2.3使用Ajax一定注意 数据返回 $data = 'ok'; $this->ajaxReturn($data); 不能直接 echo $data;
- ThinkPHP3.* 模型操作相关函数
ThinkPHP3.* 版本,大家所不熟知的,且与数据库操作相关的函数做以简单罗列: 1.getLastSql 别名 _sql (鉴于getLastSql比较常用,故出现了别名函数_sql) 2.se ...
- [每日电路图] 9、介绍一种低价简单的4.2V锂电池充电及稳压(LDO)电路——RT9193,SD8017
消费类电子电路图设计中往往会涉及到4.2V锂离子电池充电电路.及4.2V转3.3V的LDO稳压电路,这里分享一种简单.便宜的设计方案: RT9193 300mA,Ultra-Low Noise,Ult ...
- ThinkPHP3.2设置404跳转页面
在ThinkPHP3.2版本中当我们访问不存在的页面时会出现非常不友好错误提示页面,类如下图: 解决办法: 1.在ThinkPHP3.2详细的介绍了该框架下的ThinkPHP惯例配置文件convent ...
- 浅谈ThinkPHP3.2的子域名部署和路由优化(一)
前言:建立一个网站系统,往往包含多个子网站,例如PC官网,移动端官网,后台管理,数据源自一个相同的数据库,整个架构上,从ThinkPHP来看,可以大体理解为Model(M)是一样的,Controlle ...
- ThinkPHP3快速入门教程二:数据CURD
CURD(创建[Create].更新[Updata].读取[Read].删除[Delete]),定义了用于处理数据的基本原子操作. CURD在具体的应用中并非一定使用create.updata.rea ...
随机推荐
- Algorithm --> Kruskal算法和Prim算法
最小生成树之Kruskal算法和Prim算法 Kruskal多用于稀疏图,prim多用于稠密图. 根据图的深度优先遍历和广度优先遍历,可以用最少的边连接所有的顶点,而且不会形成回路.这种连接所有顶点并 ...
- Konckout第四个实例:组合类型数据绑定 -- 日期双向绑定显示
<!doctype html> <html > <head> <meta http-equiv="Content-Type" conten ...
- C语言中数据类型的取值范围
C语言中数据类型的取值范围如下:char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 ...
- lua对多个精灵执行一系列动作,延时失效
function MainPlayerCards:sendCards() local winSize = cc.Director:getInstance():getWinSize() local nS ...
- jquery empty()方法在IE下报错的解决办法
empty()在IE中没反应的办法: 用原生的js解决: try { $("#id" ).empty(); } catch (e) { $("#id")[0]. ...
- Leetcode 1——twosum
Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...
- Alpha冲刺No.1
冲刺Day1 一.站立式会议计划 全体成员先安装好Android Studio,mysql,以及navicat for MySQL 将上述软件调试至可运行状态 自主把玩安卓虚拟机,mysql 通过一些 ...
- Flask 视图
写个验证用户登录的装饰器:在调用函数前,先检查session里有没有用户 from functools import wraps from flask import session, abort de ...
- Flask 学习 十二 用户评论
评论在数据库中的表示 由于评论和2个模型有关系,分别是谁发了评论,以及评论了哪个文章,所以这次要更新数据库模型 models.py 创建用户评论数据库模型 class Comment(db.Model ...
- bzoj千题计划276:bzoj4515: [Sdoi2016]游戏
http://www.lydsy.com/JudgeOnline/problem.php?id=4515 把lca带进式子,得到新的式子 然后就是 维护树上一次函数取min 一个调了一下午的错误: 当 ...