for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// | Copyright (c) 2006~2019 http://thinkphp.cn All rights reserved.
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// | Author: yunwuxin <[email protected]>
declare (strict_types = 1);
namespace think\service;
use think\Model;
use think\Service;
class ModelService extends Service
{
public function boot()
Model::maker(function (Model $model) {
$db = $this->app->db;
$model->setDb($db);
$isAutoWriteTimestamp = $model->getAutoWriteTimestamp();
if (is_null($isAutoWriteTimestamp)) {
is_null($isAutoWriteTimestamp)
false
// 自动写入时间戳
$model->isAutoWriteTimestamp($db->getConfig('auto_timestamp'));
}
$dateFormat = $model->getDateFormat();
if (is_null($dateFormat)) {
is_null($dateFormat)
// 设置时间戳格式
$model->setDateFormat($db->getConfig('datetime_format'));
$connection = $model->getConnection();
$connection
$model->getConnection()
think\Model::getConnection()
This check looks for function or method calls that always return null and whose return value is assigned to a variable.
class A { function getObject() { return null; } } $a = new A(); $object = $a->getObject();
The method getObject() can return nothing but null, so it makes no sense to assign that value to a variable.
getObject()
The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.
if (!empty($connection) && is_array($connection)) {
is_array($connection)
// 设置模型的数据库连接
$model->setConnection(array_merge($db->getConfig(), $connection));
});
If a function call spawns multiple lines, the coding standard suggests to move the closing parenthesis to a new line:
someFunctionCall( $firstArgument, $secondArgument, $thirdArgument ); // Closing parenthesis on a new line.