thinkphp50在线手册(ThinkPHP怎么导入自定义类库)
本文目录
ThinkPHP怎么导入自定义类库
ThinkPHP的类库主要包括公共类库和应用类库,都是基于命名空间进行定义和扩展的。只要按照规范定义,都可以实现自动加载。
类库存放位置:
Think目录:系统核心类库
Org目录:第三方公共类库
这些目录下面的类库都可以自动加载,你只要把相应的类库放入目录中,然后添加或者修改命名空间定义。你可以在Org/Util/目录下面添加一个*****
文件,然后添加命名空间如下:
namespace Org\Util;
class Image {
}
这样,就可以用下面的方式直接实例化Image类了:$image = new \Org\Util\Image;
公共类库除了在系统的Library目录之外,还可以自定义其他的命名空间,我们只需要注册一个新的命名空间,在应用或者模块配置文件中添加下面的设置参数:
’AUTOLOAD_NAMESPACE’ =》 array(
’Lib’ =》 APP_PATH.’Lib’,
)
如果你的类库没有采用命名空间的话,需要使用import方法先加载类库文件,然后再进行实例化,例如:我们定义了一个Counter类(位于Com/Sina/Util/*****):
import(’*****’);
$object = new \Counter();
这些看tp手册的扩展部分,很简单也很详细
thinkphp 数据库查询怎么查
thinkphp如何查询数据库?
数据库查询
ThinkPHP内置了非常灵活的查询方法,可以快速的进行数据查询操作。
查询条件可以用于CURD等任何操作,作为where方法的参数传入即可。
ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用索引数组或者对象来作为查询条件,因为会更加安全。
查询方式
一、使用字符串作为查询条件
这是最传统的方式,但是安全性不高,例如:
1
2
$User = M("User"); // 实例化User对象
$User-》where(’type=1 AND status=1’)-》select();
最后生成的**L语句是
1
SELECT * FROM think_user WHERE type=1 AND status=1
二、使用数组作为查询条件
1
2
3
4
5
$User = M("User"); // 实例化User对象
$condition = ’thinkphp’;
$condition = 1;
// 把查询条件传入查询方法
$User-》where($condition)-》select();
最后生成的**L语句是
1
SELECT * FROM think_user WHERE ’name’=’thinkphp’ AND status=1
如果进行多字段查询,那么字段之间的默认逻辑关系是 逻辑与 AND,但是用下面的规则可以更改默认的逻辑判断,通过使用 _logic 定义查询逻辑:
1
2
3
4
5
6
$User = M("User"); // 实例化User对象
$condition = ’thinkphp’;
$condition = ’thinkphp’;
$condition = ’OR’; //定义查询逻辑
// 把查询条件传入查询方法
$User-》where($condition)-》select();
最后生成的**L语句是
1
SELECT * FROM think_user WHERE ’name’=’thinkphp’ OR `account`=’thinkphp’
三、使用对象方式来查询 (这里以stdClass内置对象为例)
1
2
3
4
5
6
$User = M("User"); // 实例化User对象
// 定义查询条件
$condition = new stdClass();
$condition-》name = ’thinkphp’;
$condition-》status= 1;
$User-》where($condition)-》select();
最后生成的**L语句和上面一样
1
SELECT * FROM think_user WHERE `name`=’thinkphp’ AND status=1
使用对象方式查询和使用数组查询的效果是相同的,并且是可以互换的,大多数情况下,我们建议采用数组方式更加高效,后面我们会以数组方式为例来讲解具体的查询语言用法。
表达式查询
上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式支持更多的**L查询语法,并且可以用于数组或者对象方式的查询(下面仅以数组方式为例说明),查询表达式的使用格式:
1
$map = array(’表达式’,’查询条件’);
表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:
1
2
3
4
$map = array(’eq’,100); id = 100;
$map = array(’egt’,100);id 》= 100
$map = array(’like’,’thinkphp%’); name like ’thinkphp%’ 模糊查询
$map =array(’notlike’,array(’%thinkphp%’,’%tp’),’AND’); (a like ’%thinkphp%’ OR a like ’%tp’) AND (b not like ’%thinkphp%’ AND b not like ’%tp’)
***隐藏网址***
以上就是thinkphp如何查询数据库的详细内容,更多请关注php中文网其它相关文章!
thinkphp的***默认有那些方法,都分别有那些用途
方法一:在入口文件写入绑定 define(’BIND_MODULE’,’Home’); 直接这样默认找Home/ 原来url可以去掉home/,直接localhost/test/index访问
方法二:修改***** 找到/application/common/conf/***** 这个文件,在原有的代码里面加入这句话
’MODULE_ALLOW_LIST’ =》 array (’Home’),
’DEFAULT_MODULE’ =》 ’Home’
意味设置默认***为home,同样可以取消home/
方法三:在入口的*****文件加入两句话
$_GET = ’Home’; // 绑定Home模块到当前入口文件
$_GET = ’Index’; // 绑定Index***到当前入口文件
效果等同于绑定home模块,但原来的链接必须通过这种方法访问,这个是很大的弊端,在搜索引擎优化和静态化网站方法,强烈不推荐使用类型链接,/隔开的链接才是有利于搜索引擎抓取的。
这个是去掉home的方法,参照这方法,去设置默认的就好了
更多文章:
专题页是什么(什么是专题页 什么关键词适合做专题页 专题页有什么优势 特点 什么情况下使用专题页)
2026年5月4日 17:20
绝对值函数excel公式怎么打(EXCEL中绝对值符号怎么打)
2026年5月4日 17:00
strcpy a b 什么意思(c语言中的char *a,*b; strcpy(a,b);与a=b;有什么区别)
2026年5月4日 16:20
thinkphp50在线手册(ThinkPHP怎么导入自定义类库)
2026年5月4日 15:40





