php 碎片笔记
1、修改 php.ini 加载路径
添加环境变量 ,新建系统变量 PHPRC ,配置如下:
检验: 通过phpinfo(),查看系统配置
Loaded Configuration File ,识别系统当前加载的有效php.ini文件路径
2、配置composer 出现错误
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify
解决方法:
CA证书下载地址:http://curl.haxx.se/docs/caextract.html
然后修改php.ini文件
openssl.cafile= D:/php/verify/cacert.pem
离线包
https://files.cnblogs.com/files/rhythmK/php_pem.rar
composer爆错:zlib_decode():data error
#先运行全部返回OK,然后再到代码composer.json目录执行后面命令 composer diagnose composer install -vvv
3、php 实现 startWith endWith
1 //第一个是原串,第二个是 部份串 2 function startWith($str, $needle) { 3 4 return strpos($str, $needle) === 0; 5 6 } 7 8 //第一个是原串,第二个是 部份串 9 function endWith($haystack, $needle) { 10 11 $length = strlen($needle); 12 if($length == 0) 13 { 14 return true; 15 } 16 return (substr($haystack, -$length) === $needle); 17 }
4、让指定域支持ajax请求[待测试]
<?php header("Access-Control-Allow-Origin:http://blog.rhythmk.com"); //允许blog.rhythmk.com提交访问 //header("Access-Control-Allow-Origin:*"); //允许任何访问 echo json_encode($_POST);
5、让IDE能够在View层进行智能提示,需先在页注释中声明对象类型:
/* @var $this yii\web\View */ /* @var $model source\models\Menu */ /* @var $form yii\widgets\ActiveForm * /* @var $num integer */
6、在控制台输出汉字转码并换行:
private function writeLineMsg($msg) { $str=iconv("UTF-8", "GB2312", $msg); echo $str."\n"; }
7、strpos(字符串,查询字符,搜索启始位)
查询到指定字符则从0开始返回索引位 否则返回false。
if(strpo('abcdefg','a')!==false) { echo 'find'; }else { echo 'no find'; }
8、include \ reguire 区别
在 PHP 中,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容。
include 和 require 语句用于在执行流中插入写在其他文件中的有用的代码。
include 和 require 除了处理错误的方式不同之外,在其他方面都是相同的:
- require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。
- include 生成一个警告(E_WARNING),在错误发生后脚本会继续执行
9、让sublime text 支持编译 php
1、工具-》编译系统-》新建编译系统,输入如下代码,保存成 php.sublime-build
{ "cmd": ["php", "$file"], "file_regex": "php$", "selector": "source.php" }
2、工具-》编译系统-》 选择php ,然后按ctrl+b 运行代码。
参考:http://jingyan.baidu.com/article/09ea3ede04ebe9c0aede390d.html?qq-pf-to=pcqq.group
10、 URL 编码 解码
urlencode urldecode
11、方法前面添加@,则屏蔽方法内部抛出的异常。好的代码是不推荐使用这种方式去屏蔽错误的。
<?php function test($value) { return 10/$value; } //echo test(0); //Warning: Division by zero in C:\php_demo\demo2.php on line 24 echo @test(0); ?>
12、PHP的Global变量的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。
1.$GLOBALS['var']是外部的全局变量本身
2.global $var是外部$var的同名引用或者指针。
<?php $GLOBALS['var1'] = 5; $var2 = 1; function get_value(){ global $var2; $var1 = 0; return $var2++; } get_value(); echo $var1; echo $var2; ?>
13、list 使用
list($a,$b)=['aaa','bbb','ccc']; print_r($a); // aaa print_r($b); // bbb
yii2 笔记:
1、使用命令启动YII2,使用cmd命令行切换到YII 目录,运行yii.bat ,运行命令如下
yii controller/action , 如: yii home/index
如果该action 附带参数则 按参数顺序,以空格分割传入数值即可。 如 yii home/index 值1 值2