zoukankan      html  css  js  c++  java
  • PHP 封装类(未完)

    1. apiResponseStatusCode 类  定义多个常量来表示不同的http状态码
      class ApiCode 
      {
          const SUCCESS = 0;
          const NOT_FOUND = 4004;
          ... ...
      }
      View Code
    2. 返回响应数据 (可以添加和data并列的索引)
      public static function apiResonse($code, $msg, $data)
      {
          $_data = [
              'code' => $code,
              'msg' => $msg,
              'data' => $data
          ];
          if (is_array($data) && array_key_exists('data', $data)) {
              foreach ($data as $k => $v) {
                  $_data[$k] = $v;
              }
          }
          return $_data;
      }
      View Code

      ```php
      Array ( [code] => 0 [msg] => fds [data] => dsadsa )
      Array ( [code] => 0 [msg] => fds [data] => datass [sfsd] => 73 )
      Array ( [code] => 0 [msg] => fds [data] => Array ( [datad] => datass [sfsd] => 73 ) )
      ```

    3. 读取env文件全局函数(放在入口文件或者其他能全局的地方。或者配置成助手类的形式):
      if (!function_exists('env')) {
          /**
           * @param string $name 不指定这个字段则默认返回所有的配置参数,否则返回指定字段的参数
           * @param string $file 默认指定env 文件
           * @return array|bool|null
           */
          function env($name = '', $file = '.env')
          {
              $path = Yii::$app->basePath;   // 这个是yii框架获取根目录的写法
              $filePath = rtrim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . $file;
              $configs = parse_ini_file($filePath, true);
              if (empty($configs)) {
                  die('err: file is empty');
              }
              // 判断 是否加了注释 # 并且判断是否设置【章节】即是否是二维数组
              foreach ($configs as $key => $val) {
                  if (is_array($val)) {
                      foreach ($val as $k => $v) {
                          if (substr($k, 0, 1) == '#' || substr($key, 0, 2) == '//') {
                              unset($configs[$key][$k]);
                          }
                          // 如果传了$name 字段,那么根据name获取指定的字段值
                          if ($k == $name || !empty($name)) {
                              return isset($configs[$key][$k]) ? $configs[$key][$k] : null;
                          }
                      }
                  }
                  if (substr($key, 0, 1) == '#' || substr($key, 0, 2) == '//') {
                      unset($configs[$key]);
                  }
                  // 如果传了$name 字段,那么根据name获取指定的字段值
                  if ($key == $name || !empty($name)) {
                      return isset($configs[$key]) ? $configs[$key] : null;
                  }
              }
              return ($configs) ;
          }
      }
      此段代码放在index.php入口文件了
  • 相关阅读:
    cf1131f 构造+并查集
    多源最短路小结
    bzoj2200拓扑排序+最短路+联通块
    cf478d 线性dp好题
    cf919D 线性dp+拓扑排序
    hiho1460 rmq模板题
    最小标示法模板 poj1509
    JAVA动态代理机制分析guide
    java动态代理(JDK和cglib)
    AOP面向切面编程
  • 原文地址:https://www.cnblogs.com/bneglect/p/13498422.html
Copyright © 2011-2022 走看看