那,控制反转和依赖注入这俩词吧,听着挺唬人的,其实大部分研发是用不到的,因为这些设计通常已经被框架实现了。

但是呢,不说一下吧,显得很不上进的样子,最主要最近博客没啥文章可写了,就水一篇文字说明好了。

以PHP为例,我们假设背景是这样的:

你有两个类,一个自写的类,一个数[……]

阅读全文

有个特别的需求,在一堆文字中,提取第一条链接。呐,不用想也是用正则撒,但是正则哪儿来呢?搜撒……

PHP 提取文本中的链接 代码示例:

<?php
$content = "测试内容https://www.example.com/abc.html测试内容";
p[......]

阅读全文

最近在处理Elasticsearch从5.3.0升级到7.3.0,其中有一项安全原因,就是API请求需要账户密码鉴权了,那么原始的请求就需要调整下支持鉴权。

下面给出file_get_contents的账户密码授权的代码示例:

<?php
$opt = [
'http'[......]

阅读全文

之所以有这篇博客,主要是翻待整理的书签,发现了鸟哥的:让PHP7达到最高性能的几个Tips,2015年的文章哦,然而时至今日依然具有很高的参考价值。

其中提到:让你的PHP7更快之Hugepage,可印象里,用了Redis就需要关闭Hugepage,遂搜了下。

在这篇博客Lin[……]

阅读全文

有个特别的需求,需要将urlencode后带百分号的字符变为大写,随手搜了总结一下:

$link = preg_replace_callback(
'/%[0-9a-f]{2}/',
function(array $matches){
return strt[......]

阅读全文

PHP curl有时需要按服务器约定POST JSON数据过去,方法其实也很简单,其他参数和POST正常请求一样,不同的是要指定下header。

示例代码如下:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type[......]

阅读全文

魔改博客主题的时候,计划不通栏目下,展示对应栏目的侧边栏,实现起来稍微麻烦了一点,下面就说一下实现方式:

  1. 主题的functions.php添加如下代码:
    #自定义Download栏目侧边栏
    function download_cat_side_bar() {
    regi

    [……]

阅读全文

鉴于网上相关资料不多,纯研究了下怎么实现SQLite的upsert的功能。

最终,查到利用冲突的类似的代码:

INSERT OR IGNORE INTO visits VALUES ($ip, 0);
UPDATE visits SET hits = hits + 1 WHERE[......]

阅读全文