小编Alv*_*Teh的帖子

我应该如何在phpDocumentor 2中记录JSON参数和返回类型?

我有一个用CakePHP编写的PHP REST API作为项目的一部分.所有API端点都作为控制器中的单个方法存在,并接受参数并在JSON字符串中返回值.我试图想象我应该如何记录这些方法phpDocumentor2的参数和返回类型.

例如,如果我在UsersController中有一个edit()方法,它更新User模型的指定字段,其骨架如下所示(为简洁起见,我简化了代码):

public function edit() {
    //Get arguments
    $args = $this->request->data['args'];
    $id = $args['id'];

    //Perform processing
    if (!$this->User->exists($id)) {
        $data = $this->createError(300);
    }
    else {
        $this->User->id = $id;

        $saveData = array();

        if (isset([$args['first_name'])) {
          $saveData['User']['first_name'] = $args['first_name'];
        }

        if (isset([$args['last_name'])) {
          $saveData['User']['last_name'] = $args['last_name'];
        }

        $isSaved = $this->User->save($saveData);

        if (count($this->User->validationErrors) > 0) {
            $data = $this->createError(202, $this->User->validationErrors);
        }
        else {
            $data = array('status' => $isSaved ? 1 : 0);
        }
    }

    //Output data
    return $data;
}
Run Code Online (Sandbox Code Playgroud)

我可能会发送一个带有以下JSON的请求来修改用户的名字和姓氏:

{ …
Run Code Online (Sandbox Code Playgroud)

json phpdoc

7
推荐指数
1
解决办法
8182
查看次数

如何使用ESLint解决导入/未解决的错误?

我在Webpack上有一个项目,我正在尝试设置SASS进行转换.我相信我非常接近,虽然我的配置存在问题(这里的代码和详细信息).

使用代码运行webpack会产生以下错误:

/foobar/src/js/components/App.jsx
  6:8  error  Unable to resolve path to module '../../scss/components/app'  import/no-unresolved
Run Code Online (Sandbox Code Playgroud)

在花了一段时间这一点,我注意到,如果我取代了import 'scss/components/app'线App.jsximport '../../scss/components/app.scss'中,transpilation工作.这让我相信有两个问题:

  1. 我的resolve.rootWebpack配置不起作用,因为相对导入工作,但不是绝对的.
  2. 我的resolve.extensionsWebpack配置也没有应用,因为我需要附加.scss文件扩展名以使其正常工作.

其他说明:

  • 我正在使用webpack 1.13.1.
  • 如果我故意在SCSS文件中引入语法错误,webpack会正确地提示我该文件的问题.
  • 我也尝试将我的resolve.root配置设置为数组(即[path.resolve(__dirname, './src')])无济于事.
  • 目标方面,我希望能够实现类似于这个例子的东西.
  • 我已经尝试过调试import路径console-loaderundefined.

任何帮助将不胜感激,谢谢!

更新:一位朋友刚刚分享了这个问题不是来自sass-loader/等,而是来自eslint.这意味着这个问题的性质将会大不相同(更少的webpack,更多的eslint).

无论如何,我.eslintrc扩展了AirBNB的,我猜我需要根据这个插件的细节修改它.

感兴趣的部分是:

settings:
  import/ignore:
    - node_modules       # mostly CommonJS (ignored by default) 
    - \.coffee$          # fraught with …
Run Code Online (Sandbox Code Playgroud)

sass eslint webpack

5
推荐指数
1
解决办法
7443
查看次数

标签 统计

eslint ×1

json ×1

phpdoc ×1

sass ×1

webpack ×1