分类 : PHP

PHP使用json_encode()将数组转为json会得到一个json格式的字符串,如果就这样直接返回给前端,前端拿到的也只是一个字符串而不是对象,需要使用JSON.parse将字符串转为对象,但如果向json_encode()传递的是为stdClass对象前端可以直接获取对象而不需要使用JSON.parse转换。如下//需要使用JSON.parse转换 $array = [ &q...

使用thinkPHP5.0的新手大多数会遇到这个问题,特别是在查询出来之后需要进行相关操作的数据,就会发现返回的数据是一个装着查询结果对象的二维数组,因为默认thinkPHP默认的返回类型是array,如果直接toArray()是肯定会报错的。解决方案:将database.php数据库配置文件的返回类型改为collection// 数据集返回类型 'resultset_type' =>...

前言今天准备上线一个项目然后发现图片上传不了一直500,试了很多次只有100kb左右的图片能够上传成功,应该是图片大小超出限制,报错代码如下:思路按道理来说如果是php的大小限制的话他会有报错信息,不至于500,thinkPHP的话就更不可能了,如果是thinkPHP的话他肯定是有容错处理的,提示信息肯定会更加清楚,不可能500。那么就肯定是web服务器的原因了。我部署的环境是Apache+...

下载 Composer安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行 php -v 查看是否正确输出版本号。打开命令行并依次执行下列命令安装最新版本的 Composer:php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" php composer-...

在模型内使用一对一或者一对多关联并对被关联模型进行条件查询public function getcover(){ return $this->hasMany("Comments","cid","id")->where("status", "=", "1&q...

我们知道,在调试php代码时使用var_dump可以显示出众多需要的信息。 特别是在写接口时看不到是否拿到了数据。 同时,我们有时候也需要将var_dump的结果保存,比如说存进日志,亦或是传给变量后留作他用。 好吧,说那么多话,直接上代码吧。ob_start(); var_dump($_POST); $result = ob_get_clean(); 这里的$result,得...

使用foreach 给数组里的值加上引号 今天在写一个whmcs 对接 dns系统的插件,由于这个系统连被控接口都没有被控端也要我写, 然后在封装CRUD类的时候 是直接传入参数数组循环处理,sql语句的值需要加上引号。 以前用foreach写过几次,今天遇到的时候好半天才想起来。 在此记录一下代码,预防遗忘。foreach($arr as &$value){ $v...

在class外使用use是导入命名空间,class内使用是trait,function后使用是捕获变量命名空间:http://php.net/manual/zh/language.namespaces.importing.phpTrait:http://php.net/manual/zh/language.oop5.traits.php匿名函数:http://php.net/manual/z...

先简单说一下多态 多态的三大特征: 子类继承父类 子类重写父类 父类指向子类 多态实现的前提:必须是类与类之间要有关系,要么继承,要么实现,存在重写(override),其实就是抽象函数或接口。 多态的应用:父类对象的引用指向子类对象,其实本质上就是一个向上转型。 举个模型例子,一家公司有员工类(Employee),还有其子类:销售(Sales)、市场(Market)、工...