PHP框架
庹明志的IT博客
主攻互联网大前端、后端、大数据等,全栈攻城狮
展开
-
laravel 框架中的carbon::now()和php原生的time()有什么区别
Carbon是对时间的一个封装。在内部通过使用DateTime实现了很多简单的方法。比如Carbon::now来说,使用echo Carbon:now()->toRfc2822String()可以直接获取到当前时间。使用DateTime你可能会需要echo (new DateTime())->format('xxxxx')包括其他对时间的操作,增加、减少天/秒/分/月,时间比较等等。这问题相当于在问Laravel和PHP有什么区别(或许有点不太恰当)。Laravel封装好了Route/原创 2021-03-02 18:10:31 · 1312 阅读 · 0 评论 -
LAMP环境centos系统Apache配置路径
LAMP环境Apache:只用更改/etc/httpd/extra下的httpd-vhosts.conf重启Apache:/usr/local/apache/bin/apachectl restart重启mysql:/etc/init.d/mysqld start原创 2021-02-06 17:38:03 · 171 阅读 · 0 评论 -
PHP中的传引用&在项目中的应用及详解
看到如下代码,想必很多同学看到&$data就有点懵/** * 删除一维数组里的多个key */function WSTUnset(&$data,$keys){ if($keys!='' && is_array($data)){ $key = explode(',',$keys); foreach ($key as $v)unset($data[$v]); }}/** * 只允许一维数组里的某些key通过 */.转载 2021-01-22 17:58:30 · 139 阅读 · 0 评论 -
PHP框架中new self 和 new static 的区别(未完待续)
new self和new static的区别:两者都是实例化自身,区别在于继承。如果没有继承,则两者返回的实例都是属于一个类;如果有继承,子类调用该方法,new self仍然返回原类的实例,而new static返回实际子类的实例。这就是延迟静态绑定,static 的值,使用的是最后实际调用那个方法的类。...原创 2021-01-20 14:12:12 · 166 阅读 · 0 评论 -
关于Thinkphp的cache缓存
TP默认的cache缓存配置'type' => 'file',如何改为redis?//首先看手册https://www.kancloud.cn/manual/thinkphp5/118131//1.修改config.php的配置文件 'cache' => [ // 驱动方式 'type' => 'redis', 'host' => '127.0.0.1', 'port' => '6..原创 2021-01-20 14:11:22 · 570 阅读 · 0 评论 -
TP的model层获取门店信息,获取1公里范围之内的门店信息
/** * 门店定位模型类 * Class Location * @package app\api\model */class Location extends Base{ /** * 获取门店信息,获取1公里范围之内的门店信息 * @param $lat,$lng * @return null|static * @throws \think\exception\DbException */ public function lo.原创 2021-01-19 16:53:16 · 303 阅读 · 0 评论 -
CGI、fpm、FastCGI、php-fpm、与swoole区别(未完待续)
讲Fastcgi之前需要先讲CGI,CGI是为了保证web server传递过来的数据是标准格式的,它是一个协议,方便CGI程序的编写者。Fastcgi是CGI的更高级的一种方式,是用来提高CGI程序性能的。web server(如nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态资源。如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PHP解析器来处理,那么他会原创 2021-01-14 14:22:16 · 380 阅读 · 0 评论 -
PHP反射类的使用方法、实现依赖注入
PHP中的扩展反射类,该扩展用来分析php程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。class test{ private $name; private $sex; function __construct(){ $this->aaa='aaa'; }} $test=new test(); $reflect=new ReflectionClass($test); $pro=$reflect->getDefau原创 2021-01-14 12:00:35 · 437 阅读 · 0 评论 -
PHP逻辑||需要注意的
最近在写售后退款功能,今天写小程序的PHP接口,但是在点击退款按钮后接口返回500错误,就去排查错误接口在浏览器中未传参情况,所以以下报错是不准确的:但是我需要传参,得到的报错才是最准确的,传参,设置打印点(如图我设置了很多打印点来排错)点击在log中打印可疑的报错点;发现是where条件写的有问题,于是重新调试Db的SQL语句,其中transaction_id不能为空,虽然不能写在where的条件数组中,单可以在后面加一句where('transaction_id','..原创 2020-11-24 17:49:29 · 138 阅读 · 0 评论 -
PHP软件系统不支持URL重写的解决办法
最近本地win的环境安装一个PHP软件,提示如图报错查阅TP文档,开启重写步骤如下:可以通过URL重写隐藏应用的入口文件index.php(也可以是其它的入口文件,但URL重写通常只能设置一个入口文件),下面是相关服务器的配置参考:[ Apache ]httpd.conf配置文件中加载了mod_rewrite.so模块AllowOverride None 将None改为 All把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下<IfModule mod...原创 2020-11-18 10:27:38 · 545 阅读 · 1 评论 -
thinkphp5.1-自动写入时间戳
在对应的模型里面写入protected $autoWriteTimestamp = true;就会为数据库中的create_time,delete_time,update_time自动记录下操作的时间如果你的数据库的着三个属性不想这样命名,你想叫做create_timestamp。那么就需要在模型中增加protected $createTime = 'create_timestamp'这样的配置才可以自动写入时间戳。...转载 2020-11-16 18:01:44 · 802 阅读 · 0 评论 -
TP5中打印前端参数的方法
在前后端分离的开发模式中,后端接收到前端的参数,需要时时打印参数,我往往是return回去,如 $vv = input('param.'); //获取全部参数 return json_encode(array('status'=>'200','msg'=>$vv));打印如图还有第二种方法,就是打印到后端文件中,方便记录、查看,common.php中写公共打印方法://测试输入数据function lq_test($data) { $time=gmdate(.原创 2020-11-11 12:26:09 · 694 阅读 · 0 评论 -
TP5中自己封装一些常用的方法
分享在common.php中封装一些常用的方法: 1./** * curl请求指定url * @param $url * @param array $data * @return mixed */function curl($url, $data = []){ // 处理get数据 if (!empty($data)) { $url = $url . '?' . http_build_query($data); } $curl = ..原创 2020-11-06 11:07:33 · 548 阅读 · 0 评论 -
TP框架中封装一个自己的打印函数
TP框架中封装一个自己的打印函数:在common.php中,dump()函数要自己写exit die之类的,自己像laraval一样封装一个dd函数:/*** 打印调试函数* @param $content* @param $is_die*/functiondd($content, $is_die = true){ header('Content-type: text/html; charset=utf-8'); echo '<pre>' . ...原创 2020-11-06 10:50:39 · 247 阅读 · 0 评论 -
推荐一个PHP爬虫采集工具
最近收到一个任务,要采集百度出来的快递物流信息,需要在框架中使用PHP采集框架phpquerylist,要使用最新版本的phpquerylist,要求PHP版本7.1以上,还要用composer安装,本着选新不选旧的原则,决定用composer在宝塔上安装composer全局安装方法:1.删除禁用函数“PHP管理”→“禁用函数”→“删除putenv”。curl -sS https://getcomposer.org/installer | phpmv composer.phar /u原创 2020-11-05 14:06:45 · 290 阅读 · 0 评论 -
关于关联查询的记录
技巧:模型查询的all()方法,第一个参数传入条件,第二个参数传入with关联的方法,如下片段:class UserDirectTeam extends UserDirectTeamModel{ public function toName() { return $this->hasOne('User', 'user_id', 'direct_user_i...原创 2019-12-10 12:15:21 · 159 阅读 · 0 评论