thinkPHP学习笔记之安装配置篇

合集下载

thinkphp教程

thinkphp教程

thinkphp教程ThinkPHP是一个开源的PHP开发框架,它提供了丰富的功能和灵活的架构,帮助开发人员快速构建高性能的Web应用程序。

本教程将介绍ThinkPHP的基本使用方法。

1. 环境配置在开始之前,确保你已经安装了PHP环境,并在PHP配置文件中启用了必要的扩展(如PDO等)。

此外,还需要安装Composer,用于管理项目的依赖。

2. 创建项目使用Composer创建一个新的ThinkPHP项目。

打开命令行窗口,进入你希望创建项目的目录,然后运行以下命令:```composer create-project topthink/think```这将自动下载最新版本的ThinkPHP,并生成一个新的项目。

3. 目录结构新建的项目将包含一些默认的文件和目录,这是ThinkPHP的预定义目录结构。

其中,`application`目录用于存放应用程序的业务逻辑代码,`public`目录用于存放项目的入口文件和静态资源文件。

4. 路由配置在`route`目录下,找到`route.php`文件。

在这个文件中,你可以定义URL和控制器方法之间的映射关系。

假设你有一个控制器方法`index`,可以在`route.php`文件中添加如下代码:```Route::get('index', 'index/index');```这样,当用户访问`index`URL时,系统会自动调用`Index`控制器的`index`方法进行处理。

5. 控制器和视图在`application`目录下的`controller`目录中,创建一个新的控制器文件,例如`Index.php`。

在这个文件中,定义一个类,继承自`think\Controller`,并编写相应的方法:```phpnamespace app\controller;use think\Controller;class Index extends Controller{public function index(){return $this->fetch();}}```在`application`目录下的`view`目录中,创建一个与控制器方法同名的视图文件,即`index.html`。

thinkphp5.1学习笔记

thinkphp5.1学习笔记

thinkphp5.1学习笔记tp配置技巧配置的get和settp5.1的配置在config⽬录⾥,⼀个⽂件是⼀个⼀级配置项,每个⽂件⼀⾏是⼆级配置项。

use think\facade\Config;//导⼊Config 门脸public function get(){//获取全部配置// dump(Config::get());//只获取app配置项dump(Config::get('app.'));dump(Config::pull('app'));//获取⼆级配置项dump(Config::get('app.app_debug'));dump(Config::get('app_debug'));//由于app是默认⼀级配置项,可以省略dump(Config::has('default_lang'));//检查是否有这个配置项,true/falsedump(Config::get('database.hostname'));}public function set(){//动态设置,静态设置是修改配置⽂件dump(Config::set('app_debug'));}}使⽤助⼿函数public function helper(){//助⼿函数不依赖于Config,不需要导⼊Config类//dump(config());//获取全部配置,相当于Config::get()dump(config('default_lang'));dump(config('?default_lang'));//查看是否存在,true/falsedump(config('database.hostname','localhost'));//设置,返回新的设置值localhost}traittrait ⽅法优先级⼩于⽗类,当两个trait ⽅法同名,会出错,需要如下:use Demo1 ,Demo2{Demo1::hello insteadof Demo2;Demo2::hello as Demo2hello;}容器/依赖注⼊/静态代理/请求对象容器与依赖注⼊的原理任何url的访问都是定位到控制器的,<?phpnamespace app\index\controller;class Demo1{public function d1(\app\common\B $b){//拿B做参数,当访问的d1⽅法⾃动实例化⼀个B,但是URL⾥不含参数。

thinkphp6操作手册

thinkphp6操作手册

thinkphp6操作手册摘要:1.引言2.ThinkPHP 6 简介3.安装与配置4.基本功能4.1 控制器4.2 模型4.3 视图4.4 数据库操作4.5 URL 路由4.6 模板引擎4.7 缓存4.8 日志5.高级功能5.1 安全防护5.2 表单验证5.3 文件上传与下载5.4 图片处理5.5 邮件发送5.6 数据加密5.7 异步任务5.8 测试6.开发规范与技巧7.社区与资源8.结语正文:【引言】ThinkPHP 6 是一款国产的轻量级PHP 开发框架,以其简洁、高效、灵活的特点受到广大开发者的喜爱。

本文将为您详细介绍ThinkPHP 6 的操作手册,帮助您快速掌握这一强大的开发工具。

【ThinkPHP 6 简介】ThinkPHP 6 是基于PHP 7.2+开发的一款MVC 框架,继承了传统MVC 框架的优势,同时在许多方面进行了优化和创新,使得开发者能够更加高效地编写代码。

【安装与配置】要使用ThinkPHP 6,首先需要对其进行安装。

您可以使用Composer 工具进行安装,安装完成后,还需对配置文件进行适当的修改,以便满足您的项目需求。

【基本功能】ThinkPHP 6 提供了丰富的基本功能,包括控制器、模型、视图、数据库操作、URL 路由、模板引擎、缓存、日志等。

这些功能为开发者提供了强大的支持,使得开发过程变得更加简单、高效。

【高级功能】除了基本功能外,ThinkPHP 6 还提供了许多高级功能,如安全防护、表单验证、文件上传与下载、图片处理、邮件发送、数据加密、异步任务、测试等。

这些功能在实际开发中发挥着重要作用,帮助开发者解决各种问题。

【开发规范与技巧】为了保证代码的质量和可维护性,ThinkPHP 6 提供了一系列开发规范与技巧。

遵循这些规范,可以使得项目更加稳定、高效。

【社区与资源】ThinkPHP 6 拥有庞大的开发者社区,提供了丰富的学习资源。

开发者可以在社区中寻求帮助、分享经验,共同进步。

ThinkPHP笔记——配置文件设置基础要素

ThinkPHP笔记——配置文件设置基础要素

ThinkPHP笔记——配置文件设置基础要素配置文件主要是控制整个项目的配置参数,通过一系列的配置达到系统与ThinkPHP 更好的调控。

1、ThinkPHP的配置文件最常用的就是更改项目中的Conf文件中conf.php,比如我的Home/Conf/conf.php2、读取配置,使用C(),大写的C函数,而且配置文件的参数都是全局的,可以再任何地方访问的。

在index控制器中输入 echo C('APP_STATUS');即可输出Conf的值3、C函数读取二维配置: C('USER_ER_TYPE');4、C函数对配置文件的动态配置:一维C('DATA_CACHE_TIME','60');二维C('USER_ER_TYPE','1');5、扩展配置:扩展配置可以实现引入外部的config文件,实现配置文件的选择性调用。

而且扩展配置文件还可以即时生效,不需要更新缓存文件。

在conf文件中写入 'LOAD_EXT_CONFIG'=>'user'//这里的conf一般放在Conf目录中扩展配置文件的配置参数默认是一维参数,即使用C('APP_STATUS')就可以实现调用当然也可以使用二维的配置调用,方法是:'LOAD_EXT_CONFIG'=>array('USER'=>'user');这样就可以使用C('USER_ER_TYPE','1')方法调用了注意:扩展配置文件的文件名不能使用:config.php 、alias.php 、tags.php 、debug.php 、core.php。

【ThinkPHP】ThinkPHP环境的安装与配置

【ThinkPHP】ThinkPHP环境的安装与配置

【ThinkPHP】ThinkPHP环境的安装与配置ThinkPHP是⼀个免费开源的,快速、简单的⾯向对象的轻量级PHP开发框架。

严格来说,ThinkPHP⽆需安装过程,这⾥所说的安装其实就是把ThinkPHP框架放⼊WEB运⾏环境(前提是你的WEB运⾏环境已经OK),可以通过两种⽅式获取和安装ThinkPHP。

下载ThinkPHP安装接下来进⼀步分析⼀下ThinkPHP5.0的框架结构:⾸先是浏览⼀下ThinkPHP5.0的⽬录结构tp5 WEB部署⽬录(或者⼦⽬录)├─application 应⽤⽬录│├─common 公共模块⽬录(可以更改)│├─module_name 模块⽬录││├─config.php 模块配置⽂件││├─common.php 模块函数⽂件││├─controller 控制器⽬录││├─model 模型⽬录││├─view 视图⽬录││└─ ... 更多类库⽬录│││├─command.php 命令⾏⼯具配置⽂件│├─common.php 公共函数⽂件│├─config.php 公共配置⽂件│├─route.php 路由配置⽂件│├─tags.php 应⽤⾏为扩展定义⽂件│└─database.php 数据库配置⽂件│├─public WEB⽬录(对外访问⽬录)│├─index.php ⼊⼝⽂件│├─router.php 快速测试⽂件│└─.htaccess ⽤于apache的重写│├─thinkphp 框架系统⽬录│├─lang 语⾔⽂件⽬录│├─library 框架类库⽬录││├─think Think类库包⽬录││└─traits 系统Trait⽬录│││├─tpl 系统模板⽬录│├─base.php 基础定义⽂件│├─console.php 控制台⼊⼝⽂件│├─convention.php 框架惯例配置⽂件│├─helper.php 助⼿函数⽂件│├─phpunit.xml phpunit配置⽂件│└─start.php 框架⼊⼝⽂件│├─extend 扩展类库⽬录├─runtime 应⽤的运⾏时⽬录(可写,可定制)├─vendor 第三⽅类库⽬录(Composer依赖库)├─build.php ⾃动⽣成定义⽂件(参考)├─composer.json composer 定义⽂件├─LICENSE.txt 授权说明⽂件├─README.md README ⽂件├─think 命令⾏⼊⼝⽂件~~~http://serverName/index.php(或者其它应⽤⼊⼝⽂件)/模块/控制器/操作/参数/值…然后我们来看看实际的⽂件:这是ThinkPHP5.0的默认⽬录⽂件,我们可以看到模块为index,控制器也是index,操作也是index。

Thinkphp笔记

Thinkphp笔记

Thinkphp1.配置gvim打开安装目录下的_vimrc文件,添加✧set nu! 显示行数✧colorscheme darkblue 背景颜色设置为深蓝色gvim配置不自动生成备份文件默认情况下用gVim编辑文件时,会自动生成带~的备份文件。

如果不想在编辑文件时自动生成备份文件的话,可以这么做:打开gVim安装目录下的vimrc_example.vim,将其中的如下部分中的else语句用引号注释掉:if has("vms")set nobackup " do not keep a backup file, use versions insteadelseset backup " keep a backup file即将上面四句改为:if has("vms")set nobackup " do not keep a backup file, use versions instead" else" set backup " keep a backup file里,else部分用双引号注释掉即可。

set backup是设置使用自动生成备份文件的命令。

windows上gvim的编码设置Windows系统默认的编码是cp936,所以用gvim一打开文件,默认是用gb2312编码打开的。

这导致很多时候打开的文件是乱码,不能正常显示,那要怎么解决这个问题呢?很简单,看下面的设定:打开gvim,到菜单栏找到“编辑”,在下拉菜单找到“启动设定”点击“启动设定”进去,你会看到相应的配置文件在文件的末尾加入如下设定:set encoding=utf-8set fileencodings=utf-8,chinese,latin-1if has("win32")set fileencoding=chineseelseset fileencoding=utf-8endifsource $VIMRUNTIME/delmenu.vimsource $VIMRUNTIME/menu.vimlanguage messages zh_CN.utf-8保存后退出gvim,重新启动,惊喜出现了,乱码不见了,是不是很简单,可以动手试一试了!2.配置项目文件(__ROOT__\Home\Conf\config.php)'URL_PA THINFO_DEPR'=>'-',//修改URL的分隔符'TMPL_L_DELIM'=>'<{', //修改左定界符'TMPL_R_DELIM'=>'}>', //修改右定界符'DB_TYPE'=>'mysql', //设置数据库类型'DB_HOST'=>'localhost',//设置主机'DB_NAME'=>'thinkphp',//设置数据库名'DB_USER'=>'root', //设置用户名'DB_PWD'=>'', //设置密码'DB_PORT'=>'3306', //设置端口号'DB_PREFIX'=>'tp_', //设置表前缀'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp',//使用DSN方式配置数据库信息'SHOW_PAGE_TRACE'=>true,//开启页面Trace'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件后缀名'TMPL_FILE_DEPR'=>'_',//修改模板文件目录层次'TMPL_DETECT_THEME'=>true,//自动侦测模板主题'THEME_LIST'=>'your,my',//支持的模板主题列表'TMPL_PARSE_STRING'=>array( //添加自己的模板变量规则'__CSS__'=>__ROOT__.'/Public/Css','__JS__'=>__ROOT__.'/Public/Js',),'LAYOUT_ON'=>true,//开启模板渲染'URL_CASE_INSENSITIVE'=>true,//url不区分大小写'URL_HTML_SUFFIX'=>'html|shtml|xml',//限制伪静态的后缀'APP_GROUP_LIST' => 'Home,Admin', //项目分组设定'DEFAULT_GROUP' => 'Home', //默认分组3.项目配置(__ROOT__\index.php)<?php//1.确定应用名称Homedefine('APP_NAME','Home');//2.确定应用路径define('APP_PATH','./Home/');//3.开启调试模式define('APP_DEBUG',true);//4.应用核心文件require './ThinkPHP/ThinkPHP.php'?>4.开启调试功能开启调试功能(在项目文件夹下的index.php中)define('APP_DEBUG',true);我们需要设置配置文件(Conf/config.php),开启页面trace'SHOW_PAGE_TRACE'=>true,//开启页面Trace5.url的4种访问方式PATHINFO 模式-- 重点!!!!!!http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2 普通模式http://域名/项目名/入口文件?m=模块名&a=方法名&键1=值1&键2=值2 REWRITE模式http://域名/项目名/模块名/方法名/键1/值1/键2/值2兼容模式http://域名/项目名/入口文件?s=模块名/方法名/键1/值1/键2/值26.获取url中的参数$id=$_GET['id'];7.获取表单中的数据html中的form表单如下<form method="post" action="__URL__/do_login">用户名:<input type="text" name="username"><br>密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password"name="password"><br>验证码:<input type="text" name="code"><img src="__APP__/Public/verify"onClick="this.src=this.src+'?'+Math.random()"><br><input type="submit" value="提交"></form>获取表单数据的Action对象函数如下public function do_login(){echo "fasdfasdfsd";dump($_POST['username']);}注:如果表单中的method="get",则上述函数中的$_POST要改为$_GET8.超链接地址的写法同项目下的超链接可不写ip地址如要访问项目thinkphp下的UserAction中的delete函数,可写为<a href="/thinkphp/index.php/User/delete?id=<{$vo.id}>">delete</a>但是为了防止因项目名称(thinkphp)的更改,导致系统不能使用,可使用”__URL__”替换”/thinkphp/index.php/User/”,如以上地址改写为<a href="__URL__/delete?id=<{$vo.id}>">delete</a>9.将两个字符串合并$m->where("id=".$_GET['id'])->delete();//也可以是单引号10.ThinkPHP 3 的输出通过echo 等PHP原生的输出方式在页面中输出通过display方法输出,如想分配变量可以使用assign方法,如在Action中<?php// 本类由系统自动生成,仅供测试用途class IndexAction extends Action {public function index(){$this->assign('name','yinliang'); //给变量name分配值yinliang$this->display(); //输出Home\Tpl\Index\index.html}public function show(){echo "show: hello world!!!";}}?>在Home\Tpl\Index\index.html中要访问name变量可以在文件中添加{$name}(修改了左右定界符的则把{,}分别修改为修改后的左右定界符)修改左右定界符(为了防止{$data }与Jquery语法混淆)休要修改配置文件(Conf/config.php)中的配置项'TMPL_L_DELIM'=>'<{', //修改左定界符TMPL_R_DELIM'=>'}>', //修改右定界符11.ThinkPHP 3 的模型使用(与数据库链接,操作数据库)配置数据库(在Conf/config.php中配置数据库相关信息)'DB_TYPE'=>'mysql', //设置数据库类型'DB_HOST'=>'localhost',//设置主机'DB_NAME'=>'thinkphp',//设置数据库名'DB_USER'=>'root', //设置用户名'DB_PWD'=>'', //设置密码'DB_PORT'=>'3306', //设置端口号'DB_PREFIX'=>'tp_', //设置表前缀加表前缀是为了更好的区分表,比如cw_代表财务cg_代表采购,如果没有表前缀,则将tp_去掉即可也可以使用DSN方法进行配置'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp',//使用DSN方式配置数据库信息如果两种方式同时存在,以DSN方式为优先在Action的index函数中获取值public function index(){$m=new Model(User);//记住U大写$arr=$m->select();//user表中的所有数据都被放到数组$arr中$this->assign('name',$arr[1]['username']);//将name赋值为数组$arr中下标为//1的元素的username的值$this->display();}还有一种简单实用模型的方式M() 等效为new Model();$m=M('User');$arr=$m->select();使用模型的实例可以对数据进行操作,操作的工作一般就是对数据库进行增删改查CURD增-C Create $m->add()删-D Delete $m->delete()改-U Update $m->save()查-R Read $m->select()模板可以遍历数组html页面中<volist name=’array’ id='vo'><{$vo.id}>----<{$ername}>-----<{$vo.sex}><br/></volist>在Action中的index中给array赋值public function index(){$m=new Model(User);$arr=$m->select();$this->assign('array',$arr);$this->assign('name',$arr[1]['username']);$this->display();}12.ThinkPHP 3.1.2 CURD特性ThinkPHP 3 读取数据对数据的读取Read$m=new Model('User');$m=M('User');select$m->select();//获取所有数据,以数组形式返回find$m->find($id);//获取单条数据getField(字段名)//获取一个具体的字段值$arr=$m->where('id=2')->getField('username');ThinkPHP 3 创建数据对数据的添加Create$m=new Model('User');$m=M('User');$m->字段名=值$m->add();返回值是新增的id号代码示例:public function add(){$m=new Model('User');$m->username=$_POST['username'];$m->sex=$_POST['sex'];$newId=$m->add();if($newId>0){$this->success("Add new user successfully!!!",index);}else{$this->error("Add new user failed!!!",index);}}ThinkPHP 3 删除数据$m=M('User');$m->delete(2); //删除id为2的数据$m->where('id=2')->delete(); //与上面效果相同,也是删除id为2的数据返回值是受影响行数代码示例:public function delete(){$id=$_GET['id'];$m=new Model('User');var_dump($id);// $m->delete(11);$count=$m->where('id='.$_GET['id'])->delete();if($count>0){$this->success("Data have been delete successfully!!!");// $this->success("数据删除成功!!!");}else{$this->error("The operation of deleting data exit error!!!");// $this->error("数据删除失败!!!");}}ThinkPHP 3 更新数据$m=M('User');$data['id']=1;$data['username']='ztz2';$m->save($data);返回值是受影响行数代码示例:public function update(){$m=new Model('User');$data['id']=$_POST['id'];$data['username']=$_POST['username'];$data['sex']=$_POST['sex'];$count=$m->save($data);if($count>0){$this->success("Data have been modify successfully!!!",index);}else{$this->error("The operation of modifing data exit error!!!",index);}}13.ThinkPHP 3.1.2 查询方式find只能查询一天记录,select可以查询多条记录普通查询方式✧字符串$arr=$m->where("sex=0 and username='gege'")->find();✧数组$data['sex']=0;$data['username']='gege';$arr=$m->where($data)->find();注意:这种方式默认是and的关系,如果使用or关系,需要添加数组值$data['sex']=0;$data['username']='gege';$data['_logic']='or';表达式查询方式$data['id']=array('lt',6);$arr=$m->where($data)->select();EQ 等于NEQ不等于GT 大于EGT大于等于LT 小于ELT小于等于示例代码:public function show(){$m=new Model('User');$data['id']=array("LT",25);$arr=$m->where($data)->select();var_dump($arr);$this->display();}✧LIKE 模糊查询$data['username']=array('like','%ge');//查询username以ge结尾的user$data['username']=array('like','%ge%');//查询username包含ge的user$arr=$m->where($data)->select();✧NOTLIKE$data['username']=array('notlike','%ge%'); //查询username不包含ge的user$arr=$m->where($data)->select();✧注意:如果一个字段要匹配多个通配符$data['username']=array('like',array('%ge%','%2%','%五%'),'and');//如果没有第三个值,默认关系是or关系$arr=$m->where($data)->select();✧BETWEEN$data['id']=array('between',array(5,7));$arr=$m->where($data)->select();//SELECT * FROM `tp_user` WHERE ( (`id` BETWEEN 5 AND 7 ) )$data['id']=array('not between',array(5,7));//注意,not 和between中间一定要有空格$arr=$m->where($data)->select();✧IN$data['id']=array('in',array(4,6,7));$arr=$m->where($data)->select();//SELECT * FROM `tp_user` WHERE ( `id` IN (4,6,7) )$data['id']=array('not in',array(4,6,7));$arr=$m->where($data)->select();//SELECT * FROM `tp_user` WHERE ( `id` NOT IN (4,6,7) ) 区间查询$data['id']=array(array('gt',4),array('lt',10));//默认关系是and 的关系//SELECT * FROM `tp_user` WHERE ( (`id` > 4) AND (`id` < 10) )$data['id']=array(array('gt',4),array('lt',10),'or') //关系就是or的关系$data['username']=array(array('like','%2%'),array('like','%五%'),'gege','or');统计查询✧count //获取个数$data['username']=array(array("LIKE","%s%"),array("LIKE","%d%"),array("LI KE","%g%"),"or");echo $m->where($data)->count();✧max //获取最大数echo $m->max("id");✧min //获取最小数echo $m->min("id");✧avg //获取平均数echo $m->avg("id");✧sum //获取总和echo $m->sum("id");SQL直接查询✧query 主要数处理读取数据的` 成功返回数据的结果集失败返回boolean false$m=M();$result=$m->query("select * from tp_user where id >50");var_dump($result);✧execute 用于更新个写入操作成功返回影响行数失败返回boolean false$m=M();$result=$m->execute("insert into tp_user(`username`) values('ztz3')");var_dump($result);14.ThinkPHP 3.1.2 连贯操作PHP中类的构造方法所有类的构造方法都如下,只是参数可以不一样function __construct($tableName){}字符串操作函数✧AddSlashes: 字符串加入斜线。

thinkphp3 手册

thinkphp3 手册

ThinkPHP3 手册1. 简介ThinkPHP是一款基于MVC模式开发的PHP框架,它以简单、高效、灵活和安全为设计理念。

ThinkPHP3是ThinkPHP框架的第三个版本,具有更加强大的功能和更好的性能。

本手册将详细介绍ThinkPHP3框架的各个方面,包括安装、配置、路由、控制器、模型、视图等内容。

通过学习本手册,您将能够深入了解和掌握ThinkPHP3框架的使用方法。

2. 安装与配置2.1 环境要求•PHP版本:5.2.0及以上•MySQL版本:5.0及以上•Web服务器:Apache或Nginx2.2 安装步骤1.下载ThinkPHP3框架的压缩包,并解压到您的Web服务器根目录下。

2.配置您的Web服务器,使其指向框架解压后的目录。

3.在您的数据库中创建一个新数据库,并导入ThinkPHP3框架提供的数据库文件。

4.修改App/Conf/config.php文件,配置数据库连接信息和其他相关参数。

2.3 目录结构├─App 应用目录│ ├─Common 公共函数目录│ ├─Conf 配置文件目录│ ├─Lan g 语言包目录│ ├─Lib 扩展类库目录│ ├─Runtime 运行时目录(需要可写权限)│ └─Tpl 模板文件目录├─ThinkPHP 框架核心目录├─Public 公共资源目录(js、css、images等)└─index.php 入口文件3. 路由配置ThinkPHP3支持灵活的URL路由配置,可以通过修改App/Conf/config.php中的URL_ROUTER_ON参数来开启路由功能。

在路由配置中,可以定义URL与控制器/方法之间的映射关系。

3.1 基本路由规则•默认路由规则:/:控制器/:方法•完全匹配规则:/模块/控制器/方法3.2 路由参数配置// 配置路由参数'URL_ROUTER_RULES' => array('user/:id' => 'User/getUser','product/:id\d' => 'Product/getProduct',),上述代码中,我们定义了两个路由规则。

ThinkPHP笔记完全配置参考手册

ThinkPHP笔记完全配置参考手册

ThinkPHP笔记——完全配置参考手册ThinkPHP2.0配置CHECK_FILE_CASE -- windows环境下面的严格检查大小写。

/* 项目设定*/'APP_DEBUG' => false, // 是否开启调试模式'APP_DOMAIN_DEPLOY' => false, // 是否使用独立域名部署项目'APP_PLUGIN_ON' => false, // 是否开启插件机制'APP_FILE_CASE' => false, // 是否检查文件的大小写对Windows平台有效'APP_GROUP_DEPR' => '.', // 模块分组之间的分割符'APP_GROUP_LIST' => '', // 项目分组设定,多个组之间用逗号分隔,例如'Home,Admi n''APP_AUTOLOAD_REG' => false, // 是否开启SPL_AUTOLOAD_REGISTER'APP_AUTOLOAD_PATH' => 'Think.Util.',// __autoLoad 机制额外检测路径设置,注意搜索顺序'APP_CONFIG_LIST' => array('taglibs','routes','tags','htmls','modules','actions'),// 项目额外需要加载的配置列表,默认包括:taglibs(标签库定义),routes(路由定义),tags(标签定义),(ht mls)静态缓存定义, modules(扩展模块),actions(扩展操作)/* Cookie设置*/'COOKIE_EXPIRE' => 3600, // Coodie有效期'COOKIE_DOMAIN' => '', // Cookie有效域名'COOKIE_PATH' => '/', // Cookie路径'COOKIE_PREFIX' => '', // Cookie前缀避免冲突/* 默认设定*/'DEFAULT_APP' => '@', // 默认项目名称,@表示当前项目'DEFAULT_GROUP' => 'Home', // 默认分组'DEFAULT_MODULE' => 'Index', // 默认模块名称'DEFAULT_ACTION' => 'index', // 默认操作名称'DEFAULT_CHARSET' => 'utf-8', // 默认输出编码'DEFAULT_TIMEZONE' => 'PRC', // 默认时区'DEFAULT_AJAX_RETURN' => 'JSON', // 默认AJAX 数据返回格式,可选JSON XML ...'DEFAULT_THEME' => 'default', // 默认模板主题名称'DEFAULT_LANG' => 'zh-cn', // 默认语言/* 数据库设置*/'DB_TYPE' => 'mysql', // 数据库类型'DB_HOST' => 'localhost', // 服务器地址'DB_NAME' => '', // 数据库名'DB_USER' => 'root', // 用户名'DB_PWD' => '', // 密码'DB_PORT' => 3306, // 端口'DB_PREFIX' => 'think_', // 数据库表前缀'DB_SUFFIX' => '', // 数据库表后缀'DB_FIELDTYPE_CHECK' => false, // 是否进行字段类型检查'DB_FIELDS_CACHE' => true, // 启用字段缓存'DB_CHARSET' => 'utf8', // 数据库编码默认采用utf8'DB_DEPLOY_TYPE' => 0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)'DB_RW_SEPARATE' => false, // 数据库读写是否分离主从式有效/* 数据缓存设置*/'DATA_CACHE_TIME' => -1, // 数据缓存有效期'DATA_CACHE_COMPRESS' => false, // 数据缓存是否压缩缓存'DATA_CACHE_CHECK' => false, // 数据缓存是否校验缓存'DATA_CACHE_TYPE' => 'File', // 数据缓存类型,支持:File|Db|Apc|Memcache|Shmop|Sqli te| Xcache|Apachenote|Eaccelerator'DATA_CACHE_PATH' => TEMP_PATH,// 缓存路径设置(仅对File方式缓存有效)'DATA_CACHE_SUBDIR' => false, // 使用子目录缓存(自动根据缓存标识的哈希创建子目录) 'DATA_PATH_LEVEL' => 1, // 子目录缓存级别/* 错误设置*/'ERROR_MESSAGE' => '您浏览的页面暂时发生了错误!请稍后再试~',//错误显示信息,非调试模式有效'ERROR_PAGE' => '', // 错误定向页面/* 静态缓存设置*/'HTML_CACHE_ON' => false, // 默认关闭静态缓存'HTML_CACHE_TIME' => 60, // 静态缓存有效期'HTML_READ_TYPE' => 0, // 静态缓存读取方式0 readfile 1 redirect'HTML_FILE_SUFFIX' => '.shtml',// 默认静态文件后缀/* 语言设置*/'LANG_SWITCH_ON' => false, // 默认关闭多语言包功能'LANG_AUTO_DETECT' => true, // 自动侦测语言开启多语言功能后有效/* 日志设置*/'LOG_RECORD' => false, // 默认不记录日志'LOG_FILE_SIZE' => 2097152, // 日志文件大小限制'LOG_RECORD_LEVEL' => array('EMERG','ALERT','CRIT','ERR'),// 允许记录的日志级别/* 分页设置*/'PAGE_ROLLPAGE' => 5, // 分页显示页数'PAGE_LISTROWS' => 20, // 分页每页显示记录数/* SESSION设置*/'SESSION_AUTO_START' => true, // 是否自动开启Session// 内置SESSION类可用参数//'SESSION_NAME' => '', // Session名称//'SESSION_PATH' => '', // Session保存路径//'SESSION_CALLBACK' => '', // Session 对象反序列化时候的回调函数/* 运行时间设置*/'SHOW_RUN_TIME' => false, // 运行时间显示'SHOW_ADV_TIME' => false, // 显示详细的运行时间'SHOW_DB_TIMES' => false, // 显示数据库查询和写入次数'SHOW_CACHE_TIMES' => false, // 显示缓存操作次数'SHOW_USE_MEM' => false, // 显示内存开销'SHOW_PAGE_TRACE' => false, // 显示页面Trace信息由Trace文件定义和Action操作赋值'SHOW_ERROR_MSG' => true, // 显示错误信息/* 模板引擎设置*/'TMPL_ENGINE_TYPE' => 'Think', // 默认模板引擎以下设置仅对使用Think模板引擎有效'TMPL_DETECT_THEME' => false, // 自动侦测模板主题'TMPL_TEMPLATE_SUFFIX' => '.html', // 默认模板文件后缀'TMPL_CACHFILE_SUFFIX' => '.php', // 默认模板缓存后缀'TMPL_DENY_FUNC_LIST' => 'echo,exit', // 模板引擎禁用函数'TMPL_PARSE_STRING' => '', // 模板引擎要自动替换的字符串,必须是数组形式。

THINKPHP入门文档

THINKPHP入门文档

ThinkPHP入门文档一、下载与安装1、从ThinkPHP官网上下载一个相对稳定的版本,这里推荐3.0版本。

2、下载后的压缩包中有个ThinkPHP文件夹,我们要做的就是把这个文件夹直接拷贝到自己项目的根目录下。

3、创建入口文件通常一个网站项目都会分为前台与后台两个部分,所以这里我们需要创建2个入口文件,但在此之前,我们要建立好目录。

在项目根目录下分别创建以下目录:A dmin存放所有后台文件H ome存放所有前台文件P ublic存放所有公共资源U pload存放用户上传的资源下面开始正式创建入口文件了,入口文件的意思就是,所有的操作必须基于这个文件。

首先,我们在Home目录中,新建一个index.php文件来作为网站前台的入口文件,这个文件中只需包含下面的代码(红框部分)就行了。

然后可以试着运行下这个文件,在浏览器中输入http://localhost/framedemo/Home/index.php如果能看到下面的结果,就表示入口文件创建成功了。

这里要注意下,thinkphp在创建入口文件的过程中,同时也会在我们的项目中自动生成一些目录,它的目录结构如下:Admin中入口文件的创建与此类似,这里不再赘述。

二、代码编写Thinkphp中数据的展示将不再放在php中,而是由html模版代替。

所以Thinkphp中代码的编写主要基于两种文件,一种是html类型的模版文件,一种是php类型的后台处理文件,这点跟Struts框架很类似,html模版文件相当于jsp,而php则相当于action。

另外,还有一个地方也需要格外注意,就是php文件html模版文件文件名类名+Action php类中的方法名后缀名.class.php.html所在目录/Lib/Action/Tpl/default/php类名上面这种命名方式与Struts2.x的动态配置也如出一辙,都秉承了一个重要的原则,即"约定大于编码"。

thinkphp手册

thinkphp手册

thinkphp手册Thinkphp是一个开放源代码、遵循Apache2开源协议的快速开发框架,可以开发出功能强大、高质量的WEB应用程序和API接口。

一、ThinkPHP概述1. ThinkPHP 能够做什么?ThinkPHP是一个完善的WEB开发工具,它可以帮助开发者快速构建世界一流的Web应用程序和API接口。

2. ThinkPHP的安装说明ThinkPHP的安装非常简单,只需要下载安装包到本地,然后解压缩并将安装包复制到服务器网站根目录,并对相关目录及文件修改相应的读/写/运行权限即可完成安装。

二、ThinkPHP基础1. ThinkPHP文件结构ThinkPHP文件体系结构分为三种,分别是应用(Application)、框架(Framework)和公共(Public),框架、公共文件是分散的,将它们统一放入一起了,本质上是以模块的形式出现,方便开发者对文件进行分类管理。

2. ThinkPHP配置ThinkPHP框架可以在config文件夹中使用config.php、webconfig.php 和database.php来进行配置。

config.php文件定义框架系统运行参数;webconfig.php文件定义系统运行环境;database.php根据不同的环境配置不同的应用数据库;三、ThinkPHP开发1. ThinkPHP定义路由在ThinkPHP中使用Route定义路由,它支持动态路由及静态路由,并可以支持变量绑定、重定向及分组绑定,可以完美满足url的定义。

2. ThinkPHP数据模型在ThinkPHP中,MODEL层主要负责与数据库交互,可以使用数据库中定义的表架构体建立模型类,并定义动态方法以完成与表的数据操作。

使用到的数据操作有select、add、save、delete等。

四、ThinkPHP调试1. ThinkPHP日志日志是一项重要的调试功能,ThinkPHP也提供了强大的日志功能,可以将每一条SQL语句记录在log.sql文件中,可以根据日志回溯问题及源头。

thinkphp学习笔记

thinkphp学习笔记

一、框架文件介绍二、创建应用1.在项目目录创建入口文件2.创建虚拟主机,访问应用三、路由形式1.什么是路由答:系统从URl参数中分析出当前请求分组、控制器和操作的过程就是“路由”。

2.Tp框架路由共有4种形式①基本get形式http://网址/index.php?m=分组&c=控制器&a=操作方法该方式是最底层的get形式、传统的参数传递方式,不时尚、不安全。

②pathinfo路径形式[默认方式]http://网址/index.php/分组/控制器/操作方法http://网址/index.php/Home/Index/advert③rewrite重写形式(伪静态技术)省略index.php入口文件http://网址/分组/控制器/操作方法http://网址/Home/Index/index④兼容形式http://网址/index.php?s=/分组/控制器/操作方法http://网址/index.php?s=/Home/Index/advert以上四种形式除了第③种,其他的url模式都可以使用四、创建控制器五、View视图模板入口程序文件index.php路由解析(控制器、操作方法)1.简单模板view调用$this->display(); //模板名称及当前控制器、当前操作方法的名称一致$this->display(模板名称); //调用当前控制器对应目录指定名称的模板$this->display(控制器/模板名称); //调用其他控制器下的具体模板文件Tp框架有两种模式:开发(调式)、生产【默认】生产模式:错误提示模糊开发模式:错误提示友好define(‘APP_DUBUG’ ,true); //开发define(‘APP_DUBUG’ ,false); //生产2.已有模板及tp框架做结合具体实现步骤:A.复制模板文件到View指定目录B.复制css、img、js静态文件到系统指定目录C.把静态资源(css、img、js)文件的路径设置为“常量”信息(在index入口文件设置)D.在模板文件中通过常量引入静态资源(css、img、js)文件,路径相对入口文件设置最好设置绝对地址(相对工作站点虚拟主机目录的绝对地址)为了后期模板维护方便,通过常量设置静态资源文件访问目录地址E.css文件本身的图片设置,其路径相对c ss文件本身设置后续a、d重复实现即可2.1静态资源文件引入2.2静态资源文件存放①通过独立路由可以访问②不要暴露太多目录信息在模板index.html里边引入css文件,相对地址为什么相对index.php入口文件设置?Index.php+Controller控制器+模板文件==混编文件引入css文件2.3 css文件引入图片路径设置绝对、相对地址:一个文件引入另一个文件,另一个文件的相对地址就相对引入文件设置。

thinkphp框架 操作手册

thinkphp框架 操作手册

thinkphp框架操作手册ThinkPHP框架操作手册ThinkPHP框架是一款开源的PHP开发框架,它提供了丰富的功能和灵活的架构,使得开发者可以轻松构建高效、安全且易于维护的Web应用程序。

本文将为您提供关于ThinkPHP框架的操作手册,帮助您快速入门并掌握常用的操作技巧。

1. 环境配置:在开始使用ThinkPHP框架之前,您需要确保已经正确搭建了PHP开发环境,并安装了相应的依赖库。

根据官方提供的文档,您可以按照指示完成环境配置,包括安装PHP、配置数据库连接等。

2. 框架安装:您可以通过官方网站下载最新版本的ThinkPHP框架,解压后将框架文件复制到您的项目目录中即可完成安装。

之后,您需要进行一些基本的配置,例如修改数据库连接信息和URL访问规则等。

详细的安装步骤和配置说明可在官方文档中找到。

3. 创建控制器和模型:在ThinkPHP框架中,控制器用于处理用户请求并返回相应的响应,模型则负责与数据库进行交互。

您可以使用框架提供的命令行工具来快速生成控制器和模型的代码,或者手动创建它们。

确保按照框架的命名规范命名文件,并编写相应的业务逻辑。

4. 路由配置:ThinkPHP框架通过路由配置将URL地址与控制器的方法关联起来,实现URL 的友好化和参数的传递。

您可以在应用的路由配置文件中定义路由规则,以及指定URL地址对应的控制器和方法。

这样,当用户访问特定的URL时,框架会自动调用相应的控制器方法进行处理。

5. ORM数据库操作:ThinkPHP框架提供了便捷的ORM(对象关系映射)数据库操作方式,使得与数据库的交互更加简单和高效。

您可以使用框架提供的模型类来操作数据库,例如执行查询、插入、更新和删除等操作。

同时,框架还支持链式操作、事务管理和SQL查询构建等特性,方便开发者进行复杂的数据库操作。

以上是ThinkPHP框架的操作手册的一些核心内容。

希望这份手册能帮助您快速入门和使用ThinkPHP框架,提升您的开发效率和代码质量。

chapter1 thinkphp的相关概念及安装配置

chapter1 thinkphp的相关概念及安装配置

安装配置
• • • • • 下载TinkPHP 环境要求 认识目录结构 项目部署 编写入口文件
下载TinkPHP
• 最新的下载版本可以在/Down 下 载到
环境要求
• ThinkPHP 可以支持Windows/Unix 服务器环境,可 运行于包括 Apache、IIS 和nginx 在内的多种WEB 服 务器和模式,需要 PHP5.0 以上版本支持,支持 Mysql、MsSQL、PgSQL、Sqlite、Oracle、Ibase以 及 PDO 等多种数据库和连接。框架本身没有什么特别 模块要求,具体的应用系统运行环境要求视开发所涉 及的模块。ThinkPHP 底层运行的内存消耗极低,而本 身的文件大小也是轻量级的,因此不会出现空间和内 存占用的瓶颈。
入口文件
• • • • • • • • • • • • <?php // 定义ThinkPHP 框架路径 define('THINK_PATH', './ThinkPHP/'); //定义项目名称和路径 define('APP_NAME', 'Myapp'); define('APP_PATH', '.'); // 加载框架入口文件 require(THINK_PATH."/ThinkPHP.php"); //实例化一个网站应用实例 App::run(); ?> 注意,APP_PATH 的路径指的是项目目录所在路径,而不是项目 入口文件所在的路径。APP_NAME通常都必须和项目目录名称一 致。
执行效果
自动生成
• ThinkPHP 具备项目目录自动生成功能,并且不需要使 用任何命令行工具。我们只需要简单的浏览器里面ห้องสมุดไป่ตู้ 问刚才创建的应用入口文件。打开浏览器,访问该项 目的入口文件:http://127.0.0.1/Myapp/index.php 这时可以看到项目构建成功后的提示画面,并且在 Myapp 目录下,已为您构建好了项目目录。

thinkphp搭建方法

thinkphp搭建方法

thinkphp搭建方法ThinkPHP是一款基于PHP语言开发的开源框架,它为开发人员提供了一种简单、快速和高效的方式搭建和管理PHP应用程序。

下面将介绍一种常用的ThinkPHP搭建方法。

首先,确保你的开发环境中已经安装了PHP和Composer。

然后按照以下步骤进行ThinkPHP搭建:1. 下载ThinkPHP框架:访问ThinkPHP官方网站(请自行搜索),下载最新版本的ThinkPHP框架压缩包。

2. 解压缩:将下载的ThinkPHP框架压缩包解压缩到你希望存放项目的目录中。

3. 配置项目:进入解压后的ThinkPHP框架目录,找到并复制一份`./example.env`文件,并将复制得到的文件重命名为`.env`。

打开`.env`文件,根据实际情况修改数据库连接配置、调试模式等参数。

4. 创建虚拟主机:根据你所使用的开发环境,创建一个新的虚拟主机,并将根目录设置为ThinkPHP框架目录下的`./public`文件夹。

5. 安装依赖:在ThinkPHP框架目录下打开命令行工具,运行`composer install`命令,以安装项目所需的依赖包。

6. 运行项目:完成以上步骤后,你可以在浏览器中输入你设置的虚拟主机域名,来访问ThinkPHP的默认欢迎界面。

如果一切正常,你应该能够看到框架的欢迎信息。

至此,你已经成功地用ThinkPHP搭建了一个简单的PHP应用程序。

你可以根据ThinkPHP的文档和示例代码,深入学习和开发更多功能丰富的应用程序。

总结起来,ThinkPHP搭建的基本步骤为:下载框架、解压缩、配置项目、创建虚拟主机、安装依赖和运行项目。

通过学习和实践,你将能够更好地利用ThinkPHP框架进行PHP应用程序的开发。

thinkphp6操作手册

thinkphp6操作手册

thinkphp6操作手册【最新版】目录1.ThinkPHP6 简介2.安装与配置3.控制器4.模型5.视图6.配置文件7.常用函数8.扩展与插件9.示例与实践正文【ThinkPHP6 简介】ThinkPHP6 是一款基于 PHP 的主流开源 Web 框架,继承了ThinkPHP5 的优秀特性,并在此基础上进行了许多改进和优化。

它采用了全新的架构设计,具有更高的性能、更丰富的功能和更强大的扩展能力。

ThinkPHP6 致力于为广大开发者提供快速、简洁、安全的 Web 开发体验。

【安装与配置】安装 ThinkPHP6 非常简单,只需按照官方文档的指引,执行一些简单的命令即可完成安装。

安装完成后,需要对项目进行一些基本的配置,例如设置数据库连接、安装扩展等。

详细的配置方法可以参考官方文档。

【控制器】控制器是 ThinkPHP6 的核心组件之一,负责处理 HTTP 请求,并根据请求类型调用相应的方法进行处理。

ThinkPHP6 的控制器遵循 MVC 模式,具有很好的可维护性和可扩展性。

【模型】模型是 ThinkPHP6 中负责处理业务逻辑的部分,它与数据库进行交互,完成数据的增删改查等操作。

模型的编写遵循 MVC 模式,通过封装数据库操作,降低了开发难度。

【视图】视图是 ThinkPHP6 中负责展示数据的部分,它将模型处理后的数据以 HTML 的形式展示给用户。

ThinkPHP6 提供了丰富的视图引擎,支持多种模板语法,方便开发者进行前端布局。

【配置文件】ThinkPHP6 的配置文件采用全新的命名空间和分层架构,使得配置更加灵活和易于维护。

开发者可以根据项目需求,自定义配置文件,以满足不同场景的需求。

【常用函数】ThinkPHP6 提供了丰富的常用函数,涵盖了开发过程中可能用到的各种场景。

这些函数遵循统一的命名规范,易于使用和扩展。

【扩展与插件】ThinkPHP6 具有强大的扩展能力,开发者可以根据项目需求,编写自定义扩展,以实现特定的功能。

整理thinkphp安装

整理thinkphp安装

1群共享下载安装此客户端中间标
1、群共享下载安装此客户端:中间标红部分为安装程序,其余两个为辅助插件,安装时点标红程序。

(安装时间稍慢,一般为5分钟左右)
2、安装完成之后桌面将会出现下图两个图标。

3、打开下图标,完成以下设置:IP即为登陆地址IP,PORT为端口号,如无端口号时填写默认端口号80,最下行默认不做设置,设置完成之后保存。

(仅设置一次)
4、完成下图标设置时候,点击上图标即为NC63登陆客户端。

整理丨尼克
本文档信息来自于网络,如您发现内容不准确或不完善,欢迎您联系我修正;如您发现内容涉
嫌侵权,请与我们联系,我们将按照相关法律规定及时处理。

Thinkphp6笔记十:多语言配置

Thinkphp6笔记十:多语言配置
4.1和4.2,可以同时用,也可分开使用
************************************************ Thinkphp高级交QQ流群:101766150 作者:狂奔的蜗牛 转载请注明出处 ************************************************
不过在正式的项目中我一般是用第三方websocket框架来做稳定性实时性有保证的多
配置中文、英文两种语言
Thinkphp6笔 记 十 : 多 语 言 配 置
1.创建语言包文件 app_name/lang/zh-cn.php代' => '欢迎使用thinkphp61', ];
3.添加中间件定义(某应用下的middleware.php调用) 某应用app_name/middleware.php
<?php // 这是系统自动生成的middleware定义文件 return [
'think\middleware\LoadLangPack' ];
4.1地址启用:?lang=en-us 4.2cookie启用:cookie('think_lang','en-us');
app_name/lang/en-us.php代码:
<?php return [
'hello' => 'welcome use thinkphp6', ];
2.参数设置(config/lang.php):
// 默认语言 'default_lang' => 'zh-cn', // 设置允许的语言 'allow_lang_list' => ['zh-cn', 'en-us'] // 自动侦测的GET变量名 'detect_var' => 'lang', // 使用Cookie保存 'use_cookie' => true, // Cookie保存变量 'cookie_var' => 'think_lang',

thinkphp框架及环境搭建

thinkphp框架及环境搭建

thinkphp框架及环境搭建
PHP是应⽤于⼩型⽹站设计的⼀种脚本语⾔,thinkphp是⼀种轻量级框架,mvc模式适合编码和编程⼈员代码的共享提⾼了项⽬⼯程得完成时间和效率。

下⾯将会说明从环境搭建到运⾏出⼀个页⾯的⼀系列流程:
1.下载wamp搭建php运⾏环境。

①在百度直接搜索wamp下载安装
此时安装路径可⾃主选择,在这⾥就按默认路径安装,后⾯默认安装。

安装安成后不能运⾏,会报缺少MSVCR110.dll⽂件,这时,我们还需要下载VC++运⾏库。

安装后会⾃⼰进⾏配置。

②项⽬⼯程必须放在wamp/www⽬录下存放
2.下载编码软件(这⾥以sublime为例),可以直接百度下载安装。

安装路径可以⾃定义,这⾥默认安装。

thinkphp6操作手册

thinkphp6操作手册

thinkphp6操作手册摘要:1.ThinkPHP6 简介2.ThinkPHP6 安装与配置3.ThinkPHP6 控制器4.ThinkPHP6 模型5.ThinkPHP6 视图6.ThinkPHP6 数据库操作7.ThinkPHP6 路由8.ThinkPHP6 安全9.ThinkPHP6 测试10.ThinkPHP6 性能优化正文:ThinkPHP6 是一款基于PHP 的主流开发框架,它具有简洁、快速、安全的特点,广泛应用于Web 开发领域。

本操作手册将为您详细介绍如何使用ThinkPHP6 进行高效开发。

首先,我们来了解下ThinkPHP6 的安装与配置。

安装ThinkPHP6 非常简单,只需下载官方提供的压缩包并解压即可。

解压后,按照官方文档的指导进行配置,即可开始使用ThinkPHP6。

接下来,我们将详细介绍ThinkPHP6 的控制器、模型、视图等核心部分。

控制器负责接收用户请求并处理,模型负责数据逻辑运算,视图负责展示数据。

这三个部分共同构成了ThinkPHP6 的MVC 框架,使得开发工作更加清晰、有序。

在ThinkPHP6 中,数据库操作非常简单。

通过模型,我们可以轻松实现对数据库的增删改查等操作。

同时,ThinkPHP6 还提供了丰富的查询条件和查询方式,方便我们快速获取所需数据。

路由是Web 开发中非常重要的一个概念。

在ThinkPHP6 中,路由的配置和使用非常简单。

我们可以通过官方提供的路由管理工具进行路由的添加、修改和删除等操作。

安全性是Web 开发中至关重要的一个问题。

ThinkPHP6 提供了一系列安全措施,如验证码、IP 限制、防止SQL 注入等,保障我们的网站安全稳定运行。

在开发过程中,测试和性能优化是必不可少的环节。

ThinkPHP6 提供了丰富的测试工具和性能优化方案,帮助我们提高代码质量和运行效率。

总之,ThinkPHP6 作为一款优秀的PHP 开发框架,可以帮助我们快速、高效地进行Web 开发。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这篇文章主要介绍了一款国产MVC框架thinkPHP,这里讲诉的是thinkphp的安装与配置,以及一个简单实例,有需要的小伙伴可以参考下。

国产框架thinkPHP,是一款MVC框架,这个框架最初模拟JA V A的struts框架,使用单一入口文件模拟JA V A的过滤器,使用action来模拟STRUTS的控制器ACTION,所以为什么他的MVC之中,M是model,V是view,而control却是action的原因。

在3.2.3版本中,control改成了C,也是趋于形式,因为JA V A世界的springMVC开始流行,spring使用的control,不在使用action这种定义,其实action来表示control本身就有一定的误导,control就C嘛,为什么来一个aciton,让人摸不着头脑。

thinkphp最难理解的是他的访问方式,在官方文档上面讲解有点误导人,按照官文一定出错,是因为官文没有讲清楚!
thinkphp的安装其实很简单,只要require他的主程序文件,就可以生成一些列的目录,但是URL与他的control、tpl的关系是什么呢?官文说得实在太含糊了,但凡使用过JA VA 的人都会被官文忽悠到吐血!
官文,能否条理清楚点!?
实际使用过后总结了以下几点:
1,安装thinkphp:
和主程序thinkPHP同目录下建立admin.php或者其他的名字都可以
代码如下:
&lt;?php
//定义项目名称和路径
define('APP_NAME', ''); //名字时空的时候,就是生成的文件夹前不加前缀
define('APP_PA TH', './admin/');//这个是和主程序THINKPHP同目录下生成admin目录的意思
define('APP_DEBUG', true);//开始编辑模式,文件强制编译,不缓存
// 加载框架入口文件
require( "../ThinkPHP/ThinkPHP.php");//主程序入口文件
2,文件目录:
自动生成的文件目录是
common:写函数的地方
conf:配置文件,例如配置数据库连接地址
lang:语言包,国际化
lib:action,model都在这里面,是一个比较重要的地方,和JA V A的lib是JAR包完全不同概念
runtime:运行时的缓存文件
tpl:模板,就是html文件
3,访问方法:
URL:localhost/thinkphp/admin.php?m=Show&amp;a=add
解释:本地/项目目录/刚才建立的单一入口文件?model=类名&amp;action=方法名
意思:进入单一入口文件admin.php中的Show类中的add方法
强调:类名是大写开头,小写会找不到,这个把我害苦了,弄了一下午,原来是只认识大写类名,小写不认识
infopath风格URL:localhost/thinkphp/admin.php/Show/add
解释:和默认的一样,就是没有写出M A
4,写类,写方法:
thinkphp的作者一定是一个喜欢折腾的人,完美主义者,所以才会思考出这种方式来控制程序,整个程序都是以action类为核心,一个action类等于是一个页面,里面的方法就是和这个页面相关的操作,什么增删改查啊,这个很符合国人的思考方式,但是复用性并不高。

写文件:lib/action/ShowAction.class.php
代码如下:
&lt;?php
//Show就是类名,Action只是一个识别辅助,必须写,但是可以调用的时候忽略,记得大写哦,你小写他也给你换成大写开头,让你弄死找不到小写show的模块,m=Show class ShowAction extends Action {
//add就是action的方法,a=add
public function add(){
//输出页面CC,他自动加载默认TPL目录下Show文件下的cc.html文件,这里如果没有cc,就加载方法名字一样的add.html,如果cc.html与add.html都没有就报错$this-&gt;display('cc');
}
}
5,写模板:
上面提到了加载模板,现在就写一个:
tpl/Show/cc.html
代码如下:
&lt;html&gt;一个普通HTML文件&lt;/html&gt;
以上就是本文的全部内容了,希望大家能够喜欢。

更多信息请查看IT技术专栏。

相关文档
最新文档