国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman框架源碼修改及性能優(yōu)化(一)

kaoson

看了webman框架性能介紹,有點(diǎn)垂涎,于是著手體驗(yàn)一下,但有些地方與自己的架構(gòu)思維不太符合,還發(fā)現(xiàn)了一些性能問題,在此分享如何修改和優(yōu)化。

如何修改框架源碼?

直接去修改源文件的代碼這種方式不可取,因?yàn)楣俜缴?jí)后不好同步,也不好對(duì)比文件修改了什么地方,所以最好的方式是利用composer加載方式,重新創(chuàng)建一個(gè)目錄,把源碼文件復(fù)制到新建目錄里進(jìn)行修改,最后利用自己創(chuàng)建的autoload加載文件,具體流程如下:

  1. 在項(xiàng)目根目錄創(chuàng)建override/webman目錄,把要修改的文件復(fù)制到該目錄下,例如修改vendor/workerman/webman-framework/src/App.php,復(fù)制后的文件路徑是override/webman/App.php,然后進(jìn)行修改。

  2. 在override目錄創(chuàng)建autoload.php,用于覆蓋文件的加載,autoload.php內(nèi)容如下:

spl_autoload_register(function($class) {
    $map = [
        'Webman'         => __DIR__ . '/webman',
        'support'        => __DIR__ . '/webman/support',
        'Alipay\EasySDK' => __DIR__ . '/alipay'
    ];

    $classFile = '';
    foreach ($map as $namespace => $dir) {
        if (0 === strpos($class, $namespace)) {
            $ns = substr($class, strlen($namespace) + 1);
            $ns = str_replace('\\', DIRECTORY_SEPARATOR, $ns);
            $file = "{$dir}/{$ns}.php";
            if (is_file($file)) {
                $classFile = $file;
                break;
            }
        }
    }

    if ($classFile) {
        include $classFile;
    }

}, true, true);
  1. 修改composer.json文件,在autoload...files結(jié)點(diǎn)加入"./override/autoload.php":
"autoload": {
    "psr-4": {
      "": "./",
      "app\\": "./app",
      "App\\": "./app",
      "app\\View\\Components\\": "./app/view/components"
    },
    "files": [
      "./support/helpers.php",
      "./override/autoload.php"
    ]
  },
  1. 執(zhí)行composer dump-autoload命令
$ composer  dump-autoload

通過以上步驟,就可以絲滑地載入要覆蓋的文件了。

1920 1 0
1個(gè)評(píng)論

walkor
  • 暫無評(píng)論
年代過于久遠(yuǎn),無法發(fā)表評(píng)論

kaoson

520
積分
0
獲贊數(shù)
0
粉絲數(shù)
2023-05-30 加入
??