置顶沉梦云全新生态系统诚招开发者

为了打造更全面的商城,提供更全面更优质成本更低的全新商城管理系统为大众服务,于2021年启动了全新商城开发计划,目前商城客户端程序和控制端已经完备,于2023年2月10日推出了采用thinkphp6+workerman+vue2开发的沉梦云Pro,接着在同年9月12日推出了采用thinkphp6+workerman+vue+vite开发的沉梦云SUP权益实物系统,版本和功能更完善,深度开发适配的插件系统,支持各种复杂功能实现,帮助客户有更多选择的同时,还能给各大开发者带来收益

【swoole】使用swoole项目启动失败各种报错的总结

一.composer版本要对上# composer降级composer self-update --1# 再更新到指定版本(您项目支持的那个版本)composer self-update 2.4.0二.swoole无法使用openssl该问题是宝塔自带的安装时,swoole新版本默认不会安装openssl扩展

【thinkphp】一个自用的.env环境变量动态配置php函数

由于各种问题,动态配置环境变量不一定好使,于是写了个~    /**     * 动态配置.env环境变量     *     * @param string $key 变量名 支持组     * @param string $value 变量值     * @return void     */    public function setEnv(string $key = '', string $value = '') {        $file = root_path() . '.env';        $data = '';        if (is_file($file)) {            $data = trim(file_get_contents($file));        }        if ($data == '') {            // 没有内容就直接创建            $data = <<<Env           APP_DEBUG = false           [APP]           DEFAULT_TIMEZONE = Asia/Shanghai           [DATABASE]           TYPE = mysql           HOSTNAME =           HOSTPORT = 3306           USERNAME =           PASSWORD =           DATABASE =           PREFIX =            CHARSET = utf8           DEBUG = true           [LANG]           default_lang = zh-cn           [REDIS]           REDIS_HOSTNAME =           PORT = 6379           REDIS_PASSWORD =           SELECT = 0           [QUEUE]           QUEUE_NAME =Env;        }        // 修改配置        $key = strtoupper($key);        if (strpos($key, '.')) {            $arr   = explode('.', $key, 2);            $key1  = $arr[0];            $key2  = $arr[1];            $start = mb_strpos($data, '[' . $key1 . ']');            if ($start !== false) {                // 找到配置组                $str_up    = mb_substr($data, 0, $start);                $str_lower = mb_substr($data, $start);                if (preg_match('/' . $key2 . '  =/', $str_lower)) {                    // 找到就直接替换                    $str_lower = preg_replace('/(\n' . $key2 . '  =(.*)|\n' . $key2 . '  =)/', "\n" . $key2 . '  =  ' . $value, $str_lower);                    $data      = $str_up . $str_lower;                } else {                    // 未找到直接在组下面追加                    $str_q     = '/\[' . $key1 . '\]/';                    $str_h     = "\[" . $key1 . "\]\n" . $key2 . "  =  " . $value;                    $str_lower = preg_replace($str_q, $str_h, $str_lower);                    $data      = $str_up . $str_lower;                }            } else {                // 未找到配置组 追加                $data = $data . "\n[" . $key1 . "]\n" . $key2 . "  =  " . $value;            }        } else {            // 说明是顶层配置            if (preg_match('/' . $key . '  =/', $data)) {                // 直接替换数据                $data = preg_replace('/([\n]{0,1}' . $key . '  =  (.*)|[\n]{0,1}' . $key . '  =)/', "\n" . $key . '  =  ' . $value, $data);            } else {                // 追加                $data = $key . "  =  " . $value . "\n" . $data;            }        }        file_put_contents($file, $data);    }

【vscode插件php篇】国人开发php必装效率神器插件推荐

欲先善其事,必先利其器,想要拥有一个高效的开发条件,那么拥有一个好的开发工具和环境是有必要的!!有了下面这些插件,想必会让你bug少了,效率高了,头发也掉的少了!1.函数注释生成插件#可一键生成 支持自动检测函数参数,智能检测数据类型和返回数据类型#使用方法:函数上面一行 敲下/**再回车php docbloker

【php杂谈】php如何解决函数引用传参不能为空,使用函数回调和global关键词

php 函数调用有一个引用传参的功能,所谓引用的意思就是你传过来的实参到函数里面,在这个函数里面通过代码改变了这个参数的值,然后这个外部实参的值也会跟着变(变量的内存地址是同一个),这就叫引用传参!但是呢,函数引用参数有一个缺点,就是不能默认为空,也就是调用函数的时候这个引用参数不能省略!那么如何解决这个方法,我们就可以用到回调函数!!经初步测试,php5.6及以上是支持的,其他版本未测试!下面直接上代码

目录[+]