去评论
dz插件网

X5 里全新的类调用方式,命名空间

逝水年华
2025/05/01 07:07:57
这是 X5 开发特性的第一讲,我们说下今天这回要说的是 X5 里全新的类调用方式,命名空间

在X5的插件目录如果你要写类,可以这样写多层:
  1. - /lib  - /lib_base.php  - /sub  - /sub/sub_base.php    - /ssub    - /ssub/ssub_base.php
/lib/lib_sub.php 这么写
  1. <?phpnamespace sample;class lib_base {.....
/lib/sub/sub_base.php 这么写
  1. <?phpnamespace sample\lib;class sub_base {......
这样不用再像以前那样  include 一堆文件了,而是可以直接用
  1. //调用插件类库$c = sample\lib_base::add(1,1);$c += sample\lib\sub_base::add(1,1);$c += sample\lib\sub\ssub_base::add(1,1);   
用上了命名空间固然很爽,但是!要切记命名空间的特性
  1. <?phpnamespace sample;use discuz_table;use DB;
不使用 use 是调用不到外部类的,除非你 \discuz_table::    \DB::

目前 sample 插件中数据库类已经用这种方式重新写了,并且新增了 t() 方法

这样写的好处是不言而喻,IDE 编辑器可直接识别直达

(X5 中的系统数据库类已经改造成了自带 t() 的方式了)

好了,今天这一节就说到这里!