Yii2 如何在modules中添加验证码

最近玩了下Yii2的验证码部分,正常的逻辑都可以走通的,网上的例子也是没有问题的,关键有问题的部分是在module中使用的时候,分享给大家,往下看之前可以去看看正常情况下是如何使用的。controller部分的代码,这里的跟网上的都类似publicfunctionactions(){return['captcha'=>['class'=>'yii\captcha\CaptchaAction','fixedVerifyCode'=>null, ...

Laravel 给生产环境添加监听事件 - SQL日志监听

laravel版本:5.2.*一、创建监听器phpartisanmake:listenerQueryListener--event=Illuminate\\Database\\Events\\QueryExecutedorsudo/usr/local/bin/phpartisanmake:listenerQueryListener--event=Illuminate\\Database\\Events\\QueryExecuted会自动生成文件app/Listeners/QueryListener.php二、注册事件打开app/Providers/EventServiceProvider.php,在$listen中添加Illuminate\Database\Events\QueryExecuted事件的监听器为QueryListenerprotected$listen=['Illuminate\Database\Events\QueryExecuted'=>['App\Listeners\QueryListener',],];最终代码如下namespace&nb...

PHP7 新特性 学习

PHP7的新特性大概浏览下,还是能在工作的效率上有很大益处的。1,性能提升这个我就不做测试了,哈哈2,类型声明classStudent{publicfunction__construct(){$this->name='durban';}}$student=newStudent();functionenroll(Student$student,array$classes){foreach($classesas$class){echo"Enrolling".$student->name."in".$class."\n";&n...

Laravel 之 Left Join 方法使用

举例子如下:$models=static::where('user_id',$userId)->leftJoin('product_gift',function($join){$join->on('product_gift_exchange_order.prd_id','=','product_gift.prd_id');$join->on('product_gift_exchange_order.gift_code','=','product_gift.gift_code');})->orderBy('product_gift_exchange_order.autokid','DESC')->get(['product_gift_exchange_order.autokid','product_gift_exchange_order.ctime','product_gift_exchange_order.exchange_amount','product_gift.g...

php 之 multipart/form-data 方式 Post 提交数据

post的curl库,模拟post提交的时候,默认的方式multipart/form-data,这个算是post提交的几个基础的实现方式。$postUrl='';$postData=array('user_name'=>$userName,'identity_no'=>$idCardNo);$curl=curl_init();curl_setopt($curl,CURLOPT_URL,$postUrl);curl_setopt($curl,CURLOPT_USERAGENT,'Opera/9.80(WindowsNT6.2;Win64;x64)Presto/2.12.388Version/12.15');curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);//stopverifyingcertificatecurl_setopt($curl,CURLOPT_RETURNTRANSFER,true);curl_setopt($curl,CURLOPT_POST,&nb...

php 之 x-www-form-urlencoded 方式 Post 提交数据

php的curl库进行post提交还是蛮方便的。但是提交方式不同,contentType不同导致你的api是否能接收到数据也是个变数,这里来个简单的实例。$postUrl='';$postData=array('user_name'=>$userName,'identity_no'=>$idCardNo);$postData=http_build_query($postData);$curl=curl_init();curl_setopt($curl,CURLOPT_URL,$postUrl);curl_setopt($curl,CURLOPT_USERAGENT,'Opera/9.80(WindowsNT6.2;Win64;x64)Presto/2.12.388Version/12.15');curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);//stopverifyingcertificatecurl_setopt($curl,&...

PHP 函数分享 之 解压缩base64 压缩文件

解压缩base64压缩文件,稍微解释一下,比如你有一个pdf文件,使用软件压缩成了.gz格式的文件,然后再把这个文件做成了basa64String传输给某个人,比如这个人就是我,好吧,问题来了,我们要实现一个过程,就是反解这个文件,将base64string转成.gz文件,然后再把.gz文件解压。functionactionPdf(){$pdf_base64=BASE64_DATA_PATH;//GetFilecontentfromtxtfile$pdf_base64_handler=fopen($pdf_base64,'r');$pdf_content=fread($pdf_base64_handler,filesize($pdf_base64));fclose($pdf_base64_handler);...

Laravel Blade 模版 变量使用

LaravelBlade模版对于我这样的初玩者来说,确实有点挑战。习惯了,django的直接定义函数就能直接使用的方法,在Blade中还是没有找到如何使用,这里简单介绍下我自己查到的使用方法。起始Laravel的Blade是支持php的原生写法的,比如我有个输出的变量,是需要进行逻辑判断在输出的。<?php$heading='/images/default.png';?>@if($user->headimg)@if(strncmp($user->headimg,'http://',strlen('http://'))==0)<?php$heading=$user->headimg;?>@else<?php$headimg="http://7u2r0u.com1.z0.glb.clouddn.com/".$user->headi...

PHP 版本的startsWith 和 endsWith

JS处理字符串的时候,有些地方还是很方便的。但是PHP也不是很逊色,也有对应的解决方案。functionstartsWith($haystack,$needle){returnstrncmp($haystack,$needle,strlen($needle))===0;}functionendsWith($haystack,$needle){return$needle===''||substr_compare($haystack,$needle,-strlen($needle))===0;}不理解strcmp和substr_compare的可以自己去查查文档

PHP 之 Composer 的 NpmRepository错误

最近进行了一次composer的update操作。然后在我自己的项目里面运行了。composerinstall的操作,结果出现了很多的错误以前从未见过。ClassFxp\Composer\AssetPlugin\Repository\NpmRepositorydoesnotexistThe"yiisoft/yii2-composer"pluginrequirescomposer-plugin-api1.0.0,thisWILLbreakinthefutureanditshouldbefixedASAP(require^1.0forexample).[ReflectionException]ClassFxp\Composer\AssetPlugin\Repository\NpmRepositorydoesnotexist[ErrorException]DeclarationofFxp\Composer\AssetPlugin\Repository\AbstractAssetsRepository::whatProvides()shouldbecompatiblewithComposer\Repository\ComposerRepository::whatProvides(Composer\DependencyResolver\Pool$pool,$name,$bypassFilters=false)解决方案就是...