import 方法导入 ThinkPHP 基类库文件,约定导入 Think、ORG、Com 包以 ThinkPHP 系统基类库为相对起始目录:
// 导入 ThinkPHP系统目录/Lib/Think/Util/Session.class.php 文件 import("Think.Util.Session"); // 导入 ThinkPHP系统目录/Lib/ORG/Util/Page.class.php 文件 import("ORG.Util.Page");
// 导入 MyApp项目 Lib/Action/UserAction.class.php 文件 import("MyApp.Action.UserAction"); // 导入 MyApp项目 Lib/ORG/Page.class.php 文件 import("MyApp.ORG.Page"); // 导入 MyApp项目 Lib/ORG/My/Image.class.php 文件 import("MyApp.ORG.My.Image");
如果是当前项目,可以简化为:
import("@.Action.UserAction"); import("@.ORG.Page"); import("@.ORG.My.Image");
这种写法有利于项目的移植。如果是导入其他项目的类库,必须指定项目名称:
import("OtherApp.Action.UserAction");
注意:使用这种方式导入其他项目的类库时,必须保证两个项目的目录是平级的,否则需要指定 baseUrl 参数。
对于以上导入系统类库和项目类库的情况,import 方法会自动识别类库导入的路径,其他情况就需要指定 baseUrl 参数。如导入当前文件所在目录下的 My.class.php 文件:
import("My",dirname(__FILE__));
ext 参数表示导入的类库后缀,默认是 .class.php。如果导入的文件不是 *.class.php 格式的,可以指定 ext 参数。如导入当前文件所在目录下的 My.php 文件:
import("My",dirname(__FILE__),".php");
在 import 方法中,. 符号是用于表示目录层次的,如果需要导入的文件名包含有 . 符号,如 User.Info.class.php ,那么需要以 # 号来代替 . 号:
import("@.Action.User#Info");