PHP

php魔术常量、超全局变量、魔术方法

一、魔术常量(魔术变量)概念:所谓的魔术常量就是PHP预定义的一些常量,这些常量会随着所在的位置而变化。1、__LINE__ 获取文件中的当前行号。2、__FILE__ 获取文件的完整路径和文件名。3、__DIR__ 获取文件所在目录。4、__FUNCTION__ 获取函数名称(...

php解决高并发问题

我们通常衡量一个Web系统的吞吐率的指标是QPS(QueryPerSecond,每秒处理请求数),解决每秒数万次的高并发场景,这个指标非常关键。举个例子,我们假设处理一个业务请求平均响应时间为100ms,同时,系统内有20台Apache的Web服务器,配置MaxClients为500个(表示Apache的最大连接数目)...

thinkphp实现登录后返回原界面

主要思路还是用session记录原地址,在登录后再跳转回原界面先保存请求login方法界面的urlpublicfunctionsavelogin(){session('returnUrl',$_SERVER['HTTP_REFERER']);}在登录方法最后跳转时控制if($returnUrl=session('ret...

关于php命名空间的理解

理解命名空间首先要知道命名空间的作用,也就是它的出现解决了那些问题官方给出的解决的问题是:用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。可以看下这篇文章:https://blog.c...

简单使用phpspider采集本博客文章内容

采集流程根据链接获取页面内容(curl)->获取需要采集的内容(可以通过正则、xpath、css选择器等方法进行筛选)<?phprequire_once'phpspider/autoloader.php';usephpspidercorephpspider;usephpspidercoreequests;u...

PHP下载远程图片的几种方法总结

1.使用file_get_contentsfunctiondlfile($file_url,$save_to){$content=file_get_contents($file_url);file_put_contents($save_to,$content);}2.使用CURLfunctiondlfile($file...

PHP与thinkphp中var_dump()打印数组显示不全问题

在我们进行php开发的时候,经常会使用var_dump()函数进行数组的打印,以方便我们程序的调试,而有时候我们在进行多维数组打印的时候会发现多维数组打印不全,有些地方被…代替,这就是我们php配置的问题了。 打开php.ini搜索xdebug,会找到以下信息:xdebug.var_displa...

thinkphp5.1跨模块调用控制器或者模型

tp5.1采用命名空间的方式进行调用。  ...

thinkphp5.1 使用第三方扩展类库

此案例介绍的不是通过composer加载的,是手工下载放入extend目录下的扩展类库,仍然以phpspider为例将owner888目录放入extend目录下,也可以直接将phpspider目录放入extend目录,这里仍然用owner88为例是为了认清和composer的区别在需要使用的地方加上如下代码即可:use...

thinkphp5命令行访问

入口文件后加一个空格就行了1,首先cd到站点目录public下,我的入口文件是默认的index.php,然后执行以下命令,2,php要加入环境变量访问index模块下的index控制器下的test方法phpindex.phpindex/index/test...

thinkphp5.1composer引入第三方类库使用注意

下面以引入phpspider为例子:composer引入: composerrequireowner888/phpspider 这时在vender目录下会多出一个owner888目录,里面就有我们需要的类库phpspider文件夹,有下面这些文件我们在需要使用的控制器头部添加代码,这时就可以使用ph...

thinkphp5.1控制器初始化函数initialize与构造函数__construct区别

构造函数中子类的构造方法会覆盖父类的构造方法,如果要继承父类的构造方法可以加入parent::__construct();例子://另一种方法,使用构造函数初始化publicfunction__construct(){//使用父类的构造函数,也就是调用Controller类的构造函数parent::__construc...

thinkphp5 join使用注意

A表有id,name,time等字段,B表有id,type,uid,email,address等字段。A表中的id和B表中的uid对应。Db::table(A表)->alias('a')->join('B表b','a.id=b.uid')->find(); 这样是把B表中的所有字段都给返回了...

thinkphp5控制器访问转换问题

假设定义了HelloWorld控制器url访问地址就是:http://localhost/index.php/index/hello_world,与此同时view目录下的模板文件夹要命名为hello_world,否则会提示找不到模板如果你期望通过http://localhost/index.php/index/Hell...

php静态方法和属性

静态方法和属性由static关键字定义静态方法和属性不用实例化也可以直接访问,如self::test(),self::tt类实例化后可以访问静态方法,但是不可以访问静态属性 声明类属性或方法为静态,就可以不实例化类而直接访问。静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。为了兼容PHP4,如果...