当前位置:K88软件开发文章中心网站服务器框架ThinkPHP → 文章列表
文章标题关闭所有内容预览 | 展开所有内容预览
  • TABLE [内容预览] 0 | 2019-01-26 15:32:33
    由AdairSweet创建,最后一次修改2016-02-24table方法也属于模型类的连贯操作方法之一,主要用于指定操作的数据表。用法一般情况下,操作模型的时候系统能够自动识别当前对应的数据表,所以,使用table方法的情况通常是为了:切换操作的数据表;对多表进行操作;例如:$Model->table('think_...

    [阅读全文]

  • WHERE [内容预览] 0 | 2019-01-26 15:32:32
    由AdairSweet创建,最后一次修改2016-02-24where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHPORM的重要组成部分和亮点所在,可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持字符串和数组,虽然也可以使用对象但并不建议。字符串条...

    [阅读全文]

  • 连贯操作 [内容预览] 0 | 2019-01-26 15:32:31
    由AdairSweet创建,最后一次修改2016-02-23ThinkPHP模型基础类提供的连贯操作方法(也有些框架称之为链式操作),可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作。使用也比较简单,假如我们现在要查询一个User表的满足状态为1的前10条记录,并希望按照用户的创建时间排序,代码...

    [阅读全文]

  • 分布式数据库支持 [内容预览] 0 | 2019-01-26 15:32:30
    由AdairSweet创建,最后一次修改2016-02-24ThinkPHP内置了分布式数据库的支持,包括主从式数据库的读写分离,但是分布式数据库必须是相同的数据库类型。配置DB_DEPLOY_TYPE为1可以采用分布式数据库支持。如果采用分布式数据库,定义数据库配置信息的方式如下://分布式数据库配置定义'DB_DE...

    [阅读全文]

  • 切换数据库 [内容预览] 0 | 2019-01-26 15:32:28
    由AdairSweet创建,最后一次修改2016-02-24除了在预先定义数据库连接和实例化的时候指定数据库连接外,我们还可以在模型操作过程中动态的切换数据库,支持切换到相同和不同的数据库类型。用法很简单,只需要调用Model类的db方法,用法:Model->db("数据库编号","数据库配置");数据库编号用数字格式...

    [阅读全文]

  • 连接数据库 [内容预览] 0 | 2019-01-26 15:32:27
    由AdairSweet创建,最后一次修改2016-02-24ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。目前包含了Mysql、SqlServer、PgSQL、Sqlite、O...

    [阅读全文]

  • 字段定义 [内容预览] 0 | 2019-01-26 15:32:26
    由AdairSweet创建,最后一次修改2016-02-24通常每个模型类是操作某个数据表,在大多数情况下,系统会自动获取当前数据表的字段信息。系统会在模型首次实例化的时候自动获取数据表的字段信息(而且只需要一次,以后会永久缓存字段信息,除非设置不缓存或者删除),如果是调试模式则不会生成字段缓存文件,则表示每次都会重新...

    [阅读全文]

  • 模型实例化 [内容预览] 0 | 2019-01-26 15:32:25
    由AdairSweet创建,最后一次修改2016-02-24在ThinkPHP中,可以无需进行任何模型定义。只有在需要封装单独的业务逻辑的时候,模型类才是必须被定义的,因此ThinkPHP在模型上有很多的灵活和方便性,让你无需因为表太多而烦恼。根据不同的模型定义,我们有几种实例化模型的方法,根据需要采用不同的方式:直接...

    [阅读全文]

  • 模型定义 [内容预览] 0 | 2019-01-26 15:32:24
    由AdairSweet创建,最后一次修改2016-02-24模型定义模型类并非必须定义,只有当存在独立的业务逻辑或者属性的时候才需要定义。模型类通常需要继承系统的\Think\Model类或其子类,下面是一个Home\Model\UserModel类的定义:namespaceHome\Model;useThink\Mo...

    [阅读全文]

  • 模型 [内容预览] 0 | 2019-01-26 15:32:22
    由AdairSweet创建,最后一次修改2016-02-23在ThinkPHP中基础的模型类就是Think\Model类,该类完成了基本的CURD、ActiveRecord模式、连贯操作和统计查询,一些高级特性被封装到另外的模型扩展中。基础模型类的设计非常灵活,甚至可以无需进行任何模型定义,就可以进行相关数据表的ORM...

    [阅读全文]

  • 操作绑定到类 [内容预览] 0 | 2019-01-26 15:32:21
    由AdairSweet创建,最后一次修改2016-02-24定义ThinkPHP3.2版本提供了把每个操作方法定位到一个类的功能,可以让你的开发工作更细化,可以设置参数ACTION_BIND_CLASS,例如:'ACTION_BIND_CLASS'=>True,设置后,我们的控制器定义有所改变,以URL访问为http:...

    [阅读全文]

  • 插件控制器 [内容预览] 0 | 2019-01-26 15:32:20
    由AdairSweet创建,最后一次修改2016-02-24插件控制器可以更加方便的在控制器以外扩展你的功能,当URL中传入插件控制器变量的时候,会自动定位到插件控制器中的操作方法。插件控制器的变量由参数VAR_ADDON进行设置,默认为addon,例如我们在URL中传入:http://serverName/Home/...

    [阅读全文]

  • 空控制器 [内容预览] 0 | 2019-01-26 15:32:19
    由AdairSweet创建,最后一次修改2016-02-24空控制器的概念是指当系统找不到请求的控制器名称的时候,系统会尝试定位空控制器(EmptyController),利用这个机制我们可以用来定制错误页面和进行URL的优化。现在我们把前面的需求进一步,把URL由原来的http://serverName/index....

    [阅读全文]

  • 空操作 [内容预览] 0 | 2019-01-26 15:32:18
    由AdairSweet创建,最后一次修改2016-02-24空操作是指系统在找不到请求的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。例如,下面我们用空操作功能来实现一个城市切换的功能。我们只需要给CityController类定义一个_empty(空操...

    [阅读全文]

  • 请求类型 [内容预览] 0 | 2019-01-26 15:32:17
    由AdairSweet创建,最后一次修改2016-02-24判断请求类型在很多情况下面,我们需要判断当前操作的请求类型是GET、POST、PUT或DELETE,一方面可以针对请求类型作出不同的逻辑处理,另外一方面有些情况下面需要验证安全性,过滤不安全的请求。系统内置了一些常量用于判断请求类型,包括:常量说明IS_GET...

    [阅读全文]

  • 输入变量 [内容预览] 0 | 2019-01-26 15:32:15
    由AdairSweet创建,最后一次修改2016-02-24在Web开发过程中,我们经常需要获取系统变量或者用户提交的数据,这些变量数据错综复杂,而且一不小心就容易引起安全隐患,但是如果利用好ThinkPHP提供的变量获取功能,就可以轻松的获取和驾驭变量了。获取变量虽然你仍然可以在开发过程中使用传统方式获取各种系统变量...

    [阅读全文]

  • 跳转和重定向 [内容预览] 0 | 2019-01-26 15:32:14
    由AdairSweet创建,最后一次修改2016-02-24页面跳转在应用开发中,经常会遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。系统的\Think\Controller类内置了两个跳转方法success和error,用于页面跳转提示,而且可以支持ajax提交。使用方...

    [阅读全文]

  • AJAX返回 [内容预览] 0 | 2019-01-26 15:32:13
    由AdairSweet创建,最后一次修改2016-02-24ThinkPHP可以很好的支持AJAX请求,系统的\Think\Controller类提供了ajaxReturn方法用于AJAX调用后返回数据给客户端。并且支持JSON、JSONP、XML和EVAL四种方式给客户端接受数据,并且支持配置其他方式的数据格式返回。...

    [阅读全文]

  • URL生成 [内容预览] 0 | 2019-01-26 15:32:12
    由AdairSweet创建,最后一次修改2016-02-24为了配合所使用的URL模式,我们需要能够动态的根据当前的URL设置生成对应的URL地址,为此,ThinkPHP内置提供了U方法,用于URL的动态生成,可以确保项目在移植过程中不受环境的影响。定义规则U方法的定义规则如下(方括号内参数根据实际应用决定):U('地...

    [阅读全文]

  • URL大小写 [内容预览] 0 | 2019-01-26 15:32:11
    由AdairSweet创建,最后一次修改2016-02-24系统默认的规范是根据URL里面的模块名、控制器名来定位到具体的控制器类的,从而执行控制器类的操作方法。以URL访问http://serverName/index.php/Home/Index/index为例,其实访问的控制器类文件是:Application/H...

    [阅读全文]

  • 伪静态 [内容预览] 0 | 2019-01-26 15:32:10
    由AdairSweet创建,最后一次修改2016-02-24URL伪静态通常是为了满足更好的SEO效果,ThinkPHP支持伪静态URL设置,可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行。例如,我们设置'URL_HTML_SUFFIX'=>'shtm...

    [阅读全文]

  • Action参数绑定 [内容预览] 0 | 2019-01-26 15:32:08
    由AdairSweet创建,最后一次修改2016-02-24Action参数绑定是通过直接绑定URL地址中的变量作为操作方法的参数,可以简化方法的定义甚至路由的解析。Action参数绑定功能默认是开启的,其原理是把URL中的参数(不包括模块、控制器和操作名)和操作方法中的参数进行绑定。要启用参数绑定功能,首先确保你开启...

    [阅读全文]

  • 前置和后置操作 [内容预览] 0 | 2019-01-26 15:32:07
    由AdairSweet创建,最后一次修改2016-02-24前置和后置操作指的是在执行某个操作方法之前和之后会自动调用的方法,不过仅对访问控制器有效。其他的分层控制器层和内部调用控制器的情况下前置和后置操作是无效的。系统会检测当前操作是否具有前置和后置操作,如果存在就会按照顺序执行,前置和后置操作的定义方式如下:<?p...

    [阅读全文]

  • 控制器定义 [内容预览] 0 | 2019-01-26 15:32:06
    由AdairSweet创建,最后一次修改2016-02-24控制器和操作一般来说,ThinkPHP的控制器是一个类,而操作则是控制器类的一个公共方法。下面就是一个典型的控制器类的定义:<?phpnamespaceHome\Controller;useThink\Controller;classIndexControll...

    [阅读全文]

  • 实例说明 [内容预览] 0 | 2019-01-26 15:32:05
    由AdairSweet创建,最后一次修改2016-02-24我们已经了解了如何定义路由规则,下面我们来举个例子加深印象。假设我们定义了News控制器如下(代码实现仅供参考):namespaceHome\Controller;useThink\Controller;classNewsControllerextendsCo...

    [阅读全文]

  • 闭包支持 [内容预览] 0 | 2019-01-26 15:32:04
    由AdairSweet创建,最后一次修改2016-02-24闭包定义我们可以使用闭包的方式定义一些特殊需求的路由,而不需要执行控制器的操作方法了,例如:'URL_ROUTE_RULES'=>array('test'=>function(){echo'justtest';},'hello/:name'=>function...

    [阅读全文]

  • 静态路由 [内容预览] 0 | 2019-01-26 15:32:02
    由AdairSweet创建,最后一次修改2016-02-24静态路由其实属于规则路由的静态简化版(又称为URL映射),路由定义中不包含动态参数,静态路由不需要遍历路由规则而是直接定位,因此效率较高,但作用也有限。如果我们定义了下面的静态路由'URL_ROUTER_ON'=>true,'URL_MAP_RULES'=>a...

    [阅读全文]

  • 正则路由 [内容预览] 0 | 2019-01-26 15:32:01
    由AdairSweet创建,最后一次修改2016-02-24正则路由也就是采用正则表达式定义路由的一种方式,依靠强大的正则表达式,能够定义更灵活的路由规则。路由表达式支持的正则定义必须以“/”开头,否则就视为规则表达式。也就是说如果采用:'#^blog\/(\d+)$#'=>'Blog/read/id/:1'方式定义的...

    [阅读全文]

  • 规则路由 [内容预览] 0 | 2019-01-26 15:32:00
    由AdairSweet创建,最后一次修改2016-02-24规则路由是一种比较容易理解的路由定义方式,采用ThinkPHP设计的规则表达式来定义。规则表达式规则表达式通常包含静态地址和动态地址,或者两种地址的结合,例如下面都属于有效的规则表达式:'my'=>'Member/myinfo',//静态地址路由'blog/:...

    [阅读全文]

  • 路由定义 [内容预览] 0 | 2019-01-26 15:31:59
    由AdairSweet创建,最后一次修改2016-02-24启用路由要使用路由功能,前提是你的URL支持PATH_INFO(或者兼容URL模式也可以,采用普通URL模式的情况下不支持路由功能),并且在应用(或者模块)配置文件中开启路由://开启路由'URL_ROUTER_ON'=>true,路由功能可以针对模块,也可以...

    [阅读全文]

 ThinkPHP   205   30   6/7页         6   7      GO