0

我想将来自 2 个或更多请求的内容放入一个文件中,该文件将被格式化为:

customer | invoice

下面我设法让两个请求都被发布,但我如何让它们以以下格式发布:

Customer1 | Invoice1  
Customer2 | Invoice2    ..etc

PHP代码:

file_put_contents('/root/service_Logs/service.log',"
                             {$this->request->customer}\n",FILE_APPEND); 
file_put_contents('/root/service_Logs/service.log',
                             "{$this->‌​request->invoice}\n‌​",FILE_APPEND);

编辑:仍然不是苹果以这种格式获得它们。有任何想法吗?

4

1 回答 1

0

一种解决方法:

$file = '/root/service_Logs/service.log';
$text = sprintf('%s | %s', $this->request->customer, $this->request->invoice);
file_put_contents($file, $text . PHP_EOL, FILE_APPEND);

我使用sprintf是因为它允许我将字符串的格式与数据分开指定为该格式

您也可以使用插值,但我认为这更混乱:

$text = "{$this->request->customer} | {$this->request->invoice}";

但是,无论您做什么,都要努力使您的变量声明与使用这些变量的逻辑分开。当您将所有内容都打包到一个调用中时,它会变得冗长、混乱且难以维护。即使对于像记录语句这样的丢弃行,这也是一个坏习惯。

于 2017-02-06T19:17:26.643 回答