要想理解 PHP 依赖注入 和 控制反转 两个概念,就必须搞清楚如下的两个问题:
- DI —— Dependency Injection 依赖注入
- IoC —— Inversion of Control 控制反转
什么是依赖注入
没有你我就活不下去,那么,你就是我的依赖。 说白了就是:
不是我自身的,却是我需要的,都是我所依赖的。一切需要外部提供的,都是需要进行依赖注入的。
要想理解 PHP 依赖注入 和 控制反转 两个概念,就必须搞清楚如下的两个问题:
没有你我就活不下去,那么,你就是我的依赖。 说白了就是:
不是我自身的,却是我需要的,都是我所依赖的。一切需要外部提供的,都是需要进行依赖注入的。
以前没有这么搞过。
今天群里一个朋友在问这个问题。
查了下,CURL确实很强悍的可以伪造IP和来源。
1.php 请求 2.php 。
为了安全,我们的web服务主机往往不能上网。维护的时候,也是通过跳板机,ssh登录后去操作。
有时候我们的程序需要访问外网。比如需要调用外网其他程序的某个接口。这下该怎么办呢?
我们可以通过PHP的CURL函数的CURLOPT_HTTPHEADER来配置设置host访问。
当我们使用CURL来post数据的时候,需要设置post的数据
curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);
很多时候,我们需要在url中传递中文字符或是其它的html等特殊字符,似乎总会有各种乱,不同的浏览器对他们的编码又不一样,
对于中文,一般的做法是:
把这些文本字符串传给url之前,先进行urlencode($text)一下;
/** * 获取中国时间,即上海时区时间 * @param <type> $format * @return <type> */ function getChinaTime($format = "Y-m-d H:i:s") { $timezone_out = date_default_timezone_get(); date_default_timezone_set('Asia/Shanghai'); $chinaTime = date($format); date_default_timezone_set($timezone_out); return $chinaTime; }
由于svn版本控制软件会产生很多的.svn文件夹,项目发布前要删除它们,现整理了一个PHP方法,
把下面的代码放到一个名为 delsvn.php 文件里,放在网站根目录下,然后调用该文件即可。
在linux系统中,即使我们使用root帐号去手工执行php命令:
mkdir('test', 0777);
结果文件的权限依然为:
drwxr-xr-x 2 root root 4096 Jun 17 11:28 test
很明显这个权限是 755
<?php /** * 说明:函数功能是把一个图像裁剪为任意大小的图像,图像不变形 * 参数说明:输入 需要处理图片的 文件名,生成新图片的保存文件名,生成新图片的宽,生成新图片的高 */ // 获得任意大小图像,不足地方拉伸,不产生变形,不留下空白 function my_image_resize($src_file, $dst_file, $new_width, $new_height)