特别注意的是,如果你需要调用PHP内置的类库,或者第三方没有使用命名空间的类库,记得在实例化类库的时候加上 \ // 错误的用法 $class = new stdClass(); $xml = new SimpleXmlElement($xmlstr); // 正确的用法 $class = new \stdClass(); $xml = new \SimpleXmlElement($xmlstr);…
最近项目中遇到引入PHPExcel第三方类库 但是下载的phpExcel类没有命名空间,而且所有接口文件的命名都是以.php结尾  而不是tp中的.class.php 解决办法很简单:在引入没有采用命名空间的类库时 用到一个关键的方法是import() 在  项目入口\ThinkPHP\Library\org  文件夹下,引入接口文件PHPExcel.class.php 在项目中要用的时候   首先import('org.PHPExcel') 其次new \PHPExcel()  即可 下面是截…
静态成员 属性.方法和字段等成员是对象实例所特有的,即改变一个对象实例的这些成员不影响其他的实例中的这些成员.除此之外,还有一种静态成员(也称为共享成员),例如静态方法.静态属性或静态字段.静态成员可以在类的实例之间共享,所以它们可以看作是类的全局对象.静态属性和静态字段可以访问独立于任何对象实例的数据,静态方法可以执行与对象类型相关.但不是特定实例的命令,在使用静态成员时,甚至不需要实例化类型的对象.例如,前画使用的Console.WriteLine()方法就是静态的. 实例成员与静态成员的访…
继承 继承既子类与父类之间的关系.子类是父类的一种特例,子类拥有父类所没有的功能. 子类与父类之间的相互赋值——例: Parent p; Son c = new Son(); p = c; //正确,子类对象可以传给父类变量 c = p; //错误,父类对象变量不可以直接赋值给子类变量 如果确信父类变量中所引用的对象的确是子类类型,则可以通过类型强制转换进行赋值,这种方法便是多态.例: c = (Child)p; //或 c = p a Child; 命名空间与类库 命名空间(namespace…
ThinkPHP5建议所有的扩展类库都使用命名空间定义,如果你的类库没有使用命名空间,则不支持自动加载,必须使用Loader::import方法先导入文件后才能使用. 首先要在文件头部使用loader thinkphp系统类 use think\Loader; 页面内使用 Loader::import('文件夹.文件名',EXTEND_PATH); 引入后实例化类 在类名前加  \类名 既可以使用该类…
原文链接:http://www.zhaisui.com/article/42.html…
说明:在thinkPHP 5.1.X新版取消了Loader::import方法以及import和vendor助手函数(我的PHPExcel包在vendor文件夹中) 1.上图 2.控制器中:…
序言 ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,使用ThinkPHP框架可以极大简化我们的开发过程,节省时间.这个专题我将记录自己学习使用ThinkPHP5.0的进行实战开发的过程,学习资料.这篇文章首先介绍一个ThinkPHP中十分重要的概念:命名空间. 命名空间 由于PHP语法里不支持函数重载机制,如果一个应用里有两个同名的方法,怎么办?在Yii框架为了避免名字重复引起问题,全部的类前边都有 C 字样,而在ThinkPHP里就引入了命名空间这个概念.其中有几点需要特…
1.thinkphp5中公共函数文件common中,不需要use,也可以直接使用vendor中的类文件. 2.在类前面的反斜杠作用是,直接使用最外层的命名空间,有时不想use某个X类,却想使用X类时,可以在前面加上反斜杠即可使用…
1.命名空间 在源代码文件开头使用using语句引用 命名空间,就可以直接使用其中的类而不再需要指明其所属的命名空间. .NET Framework使用命名空间来管理所有的类. 类的修饰符:   public : 跨程序集,命名空间,必须要using引用   internal:默认,自己当前命名空间范围   成员的修饰符:   private:私有的,只能当前类   protected:受保护的,当前类以及子类   public :公共的,跨程序集   internal:当前命名空间,但是随着类…