ThinkPHP中怎么使用自定义的封装类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP中怎么使用自定义的封装类相关的知识,希望对你有一定的参考价值。

    类文件都是以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如 Dbmysql.class.php;  

    类的命名空间地址和所在的路径地址一致,例如 Home\\Controller\\UserController类所在的路径应该是 Application/Home/Controller/UserController.class.php;  

    确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写);  

    类名和文件名一致(包括上面说的大小写一致),例如 UserController类的文件命名是UserController.class.php, InfoModel类的文件名是InfoModel.class.php, 并且不同的类库的类命名有一定的规范;  

类的导入加载可以参考手册的命名空间和自动加载,下面是地址:
命名空间:http://document.thinkphp.cn/manual_3_2.html#namespace
自动加载:http://document.thinkphp.cn/manual_3_2.html#autoload

参考技术A 参照下现有的类库么。

基本上注意两点。
一文件的命名,.class.php这个后缀---不然就放在Vendor目录里。
二,存放目录。放在ORG下面。方便导入---使用import
参考技术B 释一下TP和CMS的区别吧,哥们这可都是原创啊,哈哈。
TP:是一个PHP开源框架,你可以理解成一个工具箱把。里面很多类啊,业务逻辑啊都是封装好的,有自己的使用规则。如果你PHP不是很精通,我建议你还是先去做原生态的PHP,然后再用框架比较好。嘿嘿。
CMS:是一个内容管理系统,它不是一个特定的东西,很多公司都有CMS。
总结:TP是工具,CMS是产品。这样能理解吗?
分析:我估计你的意思可能是想找一个目前公司使用比较广泛的东西,给自己定目标是吗?怎么说呢。还是那句话,你的PHP不精通,这两个弄起来很困难,而且很费时间。不划算,知识这个东西不能空中楼阁,要一点一点的来,慢不怕,关键是每一天都有进步。这里我给你一点建议把。
建议:
1.PHP基础,函数的使用,自定义函数,变量的作用域,“&”的作用等等,都 是基础的东西。
2.OOP,传说中的面向对象,这个怎么说呢,说复杂也复杂,说简单也简单,我的方法是你把生活中的东西抽象出来就学的很快。它包括的内容比较宽泛,需要上面第一条的基础,只要你第一条越扎实,你学OOP就回越快。OOP这个东西是个思想。建议:你开始的时候只要能看懂,能明白别人代码里OOP的意思就OK了,然后自己写一写。这里还包括有些东西,继承啊,封装啊,多态啊。你先了解着三者的用途,然后是抽象类啊,抽象方法啊,他们的规则啊,比如抽象类不需要实现,但其中必须要包含一个抽象方法啊。接口啊,接口是允许继承多个接口的,然后了解一下接口和抽象类的区别。然后再去研究一下PHP OOP里面的一些固定的语法或者说是规则。然后就OK拉,西西。
3.了解设计模式,自己写点东西,对这玩意有所了解,别学完了都忘了。。
4.然后你就可以去看TP或者CMS只类的东西了,对于CMS我建议,你还是先会用,然后再去研究它的构造。西西。追问

那些我懂 我就是想封装一个关于ajax的类但是有些问题、你能帮我一下吗、谢谢

参考技术C 咱俩纠结着差不多的问题 真不好整啊

thinkphp5.0.5怎么自定义命名上传文件

参考技术A

ThinkPHP5.0内置了一个文件处理类 \\think\\File,内置的文件上传操作也是调用了该类进行处理的。

File类继承了PHP的SplFileObject类,因此可以调用SplFileObject类所有的属性和方法。

表单代码:

<form action="/index/index/upload" enctype="multipart/form-data" method="post">
<input type="file" name="image" /> <br> 
<input type="submit" value="上传" /> 
</form>

控制器代码:

public function upload()
    // 获取表单上传文件 例如上传了001.jpg
    $file = request()->file('image');
    // 移动到框架应用根目录/public/uploads/ 目录下
    $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
    if($info)
        // 成功上传后 获取上传信息
        // 输出 jpg
        echo $info->getExtension();
        // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
        echo $info->getSaveName();
        // 输出 42a79759f284b767dfcb2a0197904287.jpg
        echo $info->getFilename(); 
    else
        // 上传失败获取错误信息
        echo $file->getError();
    

move方法成功的话返回的是一个SplFileInfo对象,你可以对上传后的文件进行后续操作,比如改名。

本回答被提问者采纳
参考技术B 文件重命名。

以上是关于ThinkPHP中怎么使用自定义的封装类的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式添加尺寸类自定义

CakePHP 类自定义导入

类 封装

模仿CountDownLatch类自定义倒时计时器

thinkphp中怎么定义及调用自定义函数?

Sklearn 凝聚聚类自定义亲和性