thinkphp AOP(面向切面编程)

AOP:在软件业,AOP为AspectOrientedProgramming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。.......百度百科AOP大概意思指:在程序需要扩展时,不该动原本的代码在thinkphp实现类似java的AOP可以使用“行为”。首先需要知道“切面”,在thinkphp中称为标签。即在代码的某个位子加入一个标签,这个标签代表执行一个或多个操作,thinkphp也提供了几个标签,如下:此外,在代码中使用函数tag()可以自定义标签定义完标签后,就可以定义行为类,如下 然后在CommonConfags.php(没有则新建)文件中为标签绑定行为 这样就实现了类似于java的AOP了   &...

说一下PHP中die()和exit()区别

PHP手册:die()Equivalenttoexit()。说明:die()和exit()都是中止脚本执行函数;其实exit和die这两个名字指向的是同一个函数,die()是exit()函数的别名。该函数只接受一个参数,可以是一个程序返回的数值或是一个字符串,也可以不输入参数,结果没有返回值。参考:虽然两者相同,但通常使用中也有细微的选择性。例如:当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常用exit()这个名字。12 echo "1111";  exit(0);当程序出错时,可以给它传递一个字符串,它会原样输出在系统终端上,通常使用die()这个名字。1$fp=fopen("./readme.txt","r") or die("不能打开该文件");...

快速php日志,写内容到文件,把日志写到log文件

php写内容到文件,把日志写到log文件//记录日志:要写入文件的文件名(可以是任意文件名),如果文件不存在,将会创建一个.log.txt位置在项目的根目录下。$file='log.txt';$content="内容:3人拼抽奖成功";$content.="rand_row内容".json_encode($rand_row)."";$content.="rows内容".json_encode($rows)."";$content.=$sql."";//这个函数支持版本(PHP5)if($f=file_put_contents($file,$content,FILE_APPEND)){//echo"成功。<br/>";}  1<?php2header("Content-type:text/html;charset=utf-8");3/********************41、写入内容到文件,追加内容到文件52、打开并读取文件内容6********************/7$file='log.txt';//要写入文件的文件名(可以是任意文件名)...

php-fpm进程管理方式(static和dynamic)

目前最新5.3.x的php-fpm,有两种管理进程的方式,分别是static和dynamic。如果设置成static,进程数自始至终都是pm.max_children指定的数量,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers配置将没有作用。如果设置成dynamic,则进程数是动态的,最开始是pm.start_servers指定的数量,如果请求较多,则会自动增加,但不超过pm.max_children指定的数量,同时保证空闲的进程数不小于pm.min_spare_servers,如果进程数较多,也会进行相应清理,保证多余的进程数不多于pm.max_spare_servers。当php-fpm启动后,一个php-cgi进程约战3M内存,但是当它们处理过一些请求后,有些内存是释放不掉的,占用的内存能达到20M-30M不等。对于内存比较吃紧,同时并发量不是很大的应用,可以考虑采用static的方式,这样可以很好的控制php-fpm的所消耗的总内存数,让系统更加平稳运行。另外由于并发量很小,可以适当的把设置pm.max_req...

wordpress后台进去空白怎么办?

最近博客换成了用wordpress程序搭建,内容和版面也重新设计。经常使用FTP工具,更改模板或者其他程序文件。由于对wordpress不太了解,竟然出现了wordpress后台进去空白的问题,而前台和FTP都没问题。 一、插件问题先判断是不是插件不兼容造成的,进入wp-content把plugins目录改个名字,再尝试登录后台,如果可以登陆可以判断是由于某个插件不兼容造成,把plugins目录名字改回来,转而进入plugins目录,把插件一个个改名测试。 二、模板问题针对主题模版不兼容问题,进入wp-content >themes,重命名当前主题的目录名,如果还不行,就只保留默认的主题,删除其他所有主题,再尝试后台登录。 我开始一直以为是模板的问题,删除了模板还是那样。但是这次wordpress后台出现了乱码,显示wp-config.php第一行有问题。虽然我不懂php,但是简单的php语句还是懂得,肯定不是第一行的原因。后来想到,以前在用emlog的时候,出现过乱码的问题,是因为利用FTP工具远程修改文件造成文件编码变了。于是用Edit...

LANMPS 一键PHP环境安装包(转)

https://github.com/foxiswho/lanmps Mar17,2017Linux+Nginx+Mysql+PHP+Elasticsearch(phpmyadmin+opencache+xdebug)环境套件包,绿色PHP套件,一键自动安装系统:Linux下CentOS,RedHat,Ubuntu内存:大于等于512M内存安装时需要联网LANMPS一键安装包V3.2.2:Linux+Nginx+Mysql+PHP+Elasticsearch(phpmyadmin+opencache+xdebug)套件包,绿色PHP套件,一键自动安装。已在CentOS7.x,Ubuntu17.x中安装成功!Apache在下个版本中会实现SSHSecureShellClient 下载右击新窗口打开Xshell+Xftp(Windows下推荐)或者使用其他工具使用SSHSecureShellClient登陆服务器安装包大小:340MB(包含相关环境所需文件)方法一:百度网盘下载(速度快):http://pan.baidu.com/s/1bnjIYKJ方法二:下载地址:h...

PHP性能优化工具–xhprof安装

PHP性能优化工具–xhprof安装,这里我先贴出大致的步骤:1.获取xhprof2.编译前预处理3.编译安装4.配置php.ini5.查看运行结果那么下面我们开始安装xhprof工具吧:1.获取xhprof可以输入网址直接下载,或者wget 1234 #wgethttp://pecl.php.net/get/xhprof-0.9.4.tgz#tarzxfxhprof-0.9.4.tgz 2.编译前预处理在编译xhprof之前,先做一下预处理,生成configure文件; 12345 #cdxhprof-0.9.4#cdextension#phpize phpize没有这个命令用来扩展php扩展模块phpize是属于php-devel的内容,所以只要运行yuminstallphp-devel就行。命令:yuminstallphp-devel-y位置:/usr/bin/phpize3.编译安装#./configure–with-php-config=/usr/bin/php-config#make&...

PHP5.6中php-fpm的配置、启动、关闭和重启

转:http://blog.csdn.net/field_yang/article/details/52401994 该文主要讲述:如何配置PHP-fpm、常见报错解决方法和php-fpm的启动、关闭和重启。LNMP环境中的nginx是不支持php的,需要通过fastcgi插件来处理有关php的请求。而php需要php-fpm这个组件提供该功能。在php5.3.3以前的版本php-fpm是以一个补丁包的形式存在的,而php5.3.3以后只需在编译安装时使用–enable-fpm加载该模块即可,无需另行安装。[root@localhostphp-5.6.25]#/usr/local/php/sbin/php-fpm[29-Aug-201617:36:05]ERROR:failedtoopenconfigurationfile'/usr/local/php/etc/php-fpm.conf':Nosuchfileordirectory(2)[29-Aug-201617:36:05]ERROR:failedtoloadconfigurationfile'/usr/loc...

PHP性能调优---php-fpm

约定几个目录/usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.ini一,php-fpm启动参数帮助01020304050607080910111213#测试php-fpm配置/usr/local/php/sbin/php-fpm-t/usr/local/php/sbin/php-fpm-c/usr/local/php/etc/php.ini-y/usr/local/php/etc/php-fpm.conf-t #启动php-fpm/usr/local/php/sbin/php-fpm/usr/local/php/sbin/php-fpm-c/usr/local/php/etc/php.ini-y/usr/local/php/etc/php-fpm.conf #关闭php-fpmkill-INT`cat/usr/local/php/var/run/php-fpm.pid` #重启php-fpmkill-USR2`cat/usr/local/php...

PHP性能调优---PHP-FPM配置及使用总结

PHP-FPM配置及使用总结:php-FPM是一个PHPFastCGI的管理器,它实际上就是PHP源代码的补丁,旨在将FastCGI进程管理引进到PHP软件包中,我们必须将其patch到PHP源代码中,然后再行编译才能使用。而现在我们可以在PHP5.3.2及更新版本中直接开启并使用即可,因为PHP从该版本已经将其收入到软件包中,所以其不再是补丁包的存在了。 ·     几个概念的理解·     Nginx+PHP配置·     Php-Fpm的操作 一、几个概念的理解1)、CGICGI全称“公共网关接口”(CommonGatewayInterface),是HTTP服务器与其它机器上的程序进行通信的接口,其程序须运行在网络服务器上。 NOTE:CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。 2)、FastCGI...

PHP性能调优---php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)

虽然通过nginxaccesslog可以记录用户访问某个接口或者网页所消耗的时间,但是不能清晰地追踪到具体哪个位置或者说函数慢,所以通过php-fpm慢日志,slowlog设置可以让我们很好的看见哪些php进程速度太慢而导致的网站问题php-fpm.conf的配置文件中有一个参数request_slowlog_timeout是这样描述的;ThetimeoutforservingasinglerequestafterwhichaPHPbacktracewillbe;dumpedtothe'slowlog'file.Avalueof'0s'means'off'.;Availableunits:s(econds)(default),m(inutes),h(ours),ord(ays);DefaultValue:0;request_slowlog_timeout=0当request_slowlog_timeout设为一个具体秒时request_slowlog_timeout=1,表示如果哪个脚本执行时间大于1秒,会记录这个脚本到慢日志文件中request_slowlog_timeout=0表示...

phpstorm+Xdebug断点调试PHP

运行环境:PHPSTORM版本:8.0.1PHP版本:5.6.2xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dllps:php版本和xdebug版本一定要相对应1.PHP安装xdebug扩展php.ini的配置,下面的配置仅供参考,路径要换成自己的![xdebug]zend_extension="D:wampphp-5.6.2-x64extphp_xdebug-2.2.5-5.6-vc11-x86_64.dll"xdebug.remote_enable=Onxdebug.remote_handler=dbgp  xdebug.remote_host=localhostxdebug.remote_port=9000xdebug.idekey=PHPSTORMps: remote_handler、remote_host、remote_port这些都有默认值,但还是建议设置下,至少知道要设置这些参数~查看phpinfo~2.PHPSTORM设置楼主以前一直用zendstudio,刚开始用phpstorm非常蛋疼,用了一段时...

PHP性能调优---PHP调试工具Xdebug安装配置教程

 说到PHP代码调试,对于有经验的PHPer,通过echo、print_r、var_dump函数,或PHP开发工具zendstudio、editplus可解决大部分问题,但是对于PHP入门学习的童鞋来说有一定的难度,而且仅仅通过上述这些PHP调试手段,也很难准确发现PHP性能方面的问题,Xdebug是一个非常有用的PHP调试工具。  Xdebug作为PHP调试工具,提供了丰富的调试函数,也可将Xdebug安装配置为zendstudio、editplus调试PHP的第三方插件,通过开启自动跟踪(auto_trace)和分析器功能,可以直观的看到PHP源代码的性能数据,以便优化PHP代码。今天和大家分享PHP调试工具Xdebug安装以及配置方面的基础知识。  Xdebug在PHP中的安装配置涉及php.ini配置文件的修改。  Xdebug安装教程  下载Xdebug  首先我们需要下载Xdebug,务必根据安装的PHP版本,选择合适的Xdebug版本,由于我是在Windows环境下安装PHP的,所以选择下载Windows版本的Xdebug2.1.0(5.3VC6(32bit)),下载下来...

PHP性能调优PHP慢日志---PHP脚本执行效率性能检测之WebGrind的使用

 如何一睹webgrind这个神奇的php性能检测工具神奇呢? 废话不多说首先webgrind这个性能检测是需要xdebug来配合,因为webgrind进行性能检测分析就是通过xdebug生成的日志文件进行编译分析的   那么这就需要们配置好xdebug,这个一般的php版本都已经有这个扩展了,因为他很大众化,如你不知道,你需要多学喽, 如何开启呢? 和php大部分扩展一样需要在ini文件中 引入扩展,同时配置开启xdebug即可,即 把所有的off 搞成on 然后指定xdebug日志文件的存放位置 然后去重启你的httpd phpinfo中看到的xdebug是开启状态即可     OK以上咱们已经xdebug配置OK了,那么晚webgrind的时候终于来到了激动不已噢~ 下载一个webgrind包即可,我个人云盘中搜索webgrind下载即可 然后放到 localhost的默认...

PHP性能调优PHP日志---善用php-fpm的慢执行日志slow log,分析php性能问题

众所周知,MySQL有slowquerylog,根据慢查询日志,我们可以知道那些sql语句有性能问题。作为mysql的好搭档,php也有这样的功能。如果你使用php-fpm来管理php的话,你可以通过如下选项开启。PHP5.3.3之前设置如下:<valuename="request_slowlog_timeout">5s</value><valuename="slowlog">logs/php-fpm-slowlog.log</value>PHP5.3.3之后设置以下如下:request_slowlog_timeout=5sslowlog=/usr/local/php/log/php-fpm-slowlog.log说明:request_slowlog_timeout是脚本超过多长时间就可以记录到日志文件slowlog是日志文件的路径开启后,如果有脚本执行超过指定的时间,就会在指定的日志文件中写入类似如下的信息:[19-Dec-201316:54:49][poolwww]pid18575script_filename=/home/web/h...
首页上一页...623624625626627...下一页尾页