Skip to content

Commit 9923ab2

Browse files
committed
PHP-Stan level 2
1 parent 409cac0 commit 9923ab2

28 files changed

+110
-108
lines changed

lib/LongitudeOne/Spatial/DBAL/Platform/PostgreSql.php

+6-2
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,17 @@ public function convertBinaryToPhpValue(AbstractSpatialType $type, $sqlExpr)
6868
public function convertToDatabaseValue(AbstractSpatialType $type, SpatialInterface $value)
6969
{
7070
$sridSQL = null;
71+
$srid = null;
7172

7273
if ($type instanceof GeographyType && null === $value->getSrid()) {
7374
$value->setSrid(self::DEFAULT_SRID);
7475
}
7576

76-
$srid = $value->getSrid();
77-
if (null !== $srid || $type instanceof GeographyType) {
77+
if (method_exists($value, 'getSrid')) {
78+
$srid = $value->getSrid();
79+
}
80+
81+
if (null !== $srid) {
7882
$sridSQL = sprintf('SRID=%d;', $srid);
7983
}
8084

lib/LongitudeOne/Spatial/PHP/Types/AbstractPoint.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public function getY(): float|int
100100
*
101101
* @throws InvalidValueException when latitude is not valid
102102
*/
103-
public function setLatitude(string $latitude): static
103+
public function setLatitude(string $latitude): self
104104
{
105105
return $this->setY($latitude);
106106
}
@@ -112,7 +112,7 @@ public function setLatitude(string $latitude): static
112112
*
113113
* @throws InvalidValueException when longitude is not valid
114114
*/
115-
public function setLongitude(string $longitude): static
115+
public function setLongitude(string $longitude): self
116116
{
117117
return $this->setX($longitude);
118118
}
@@ -124,7 +124,7 @@ public function setLongitude(string $longitude): static
124124
*
125125
* @throws InvalidValueException when x is not valid
126126
*/
127-
public function setX(string $x): static
127+
public function setX(string $x): self
128128
{
129129
$parser = new Parser($x);
130130

@@ -144,7 +144,7 @@ public function setX(string $x): static
144144
*
145145
* @throws InvalidValueException when Y is invalid, not in valid range
146146
*/
147-
public function setY(string $y): static
147+
public function setY(string $y): self
148148
{
149149
$parser = new Parser($y);
150150

lib/LongitudeOne/Spatial/PHP/Types/Geography/Point.php

+4-6
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,9 @@ class Point extends AbstractPoint implements GeographyInterface, PointInterface
3535
*
3636
* @param string $x X coordinate
3737
*
38-
* @return self
39-
*
4038
* @throws InvalidValueException when y is not in range of accepted value, or is totally invalid
4139
*/
42-
public function setX(string $x): static
40+
public function setX(string $x): self
4341
{
4442
$parser = new Parser($x);
4543

@@ -49,7 +47,7 @@ public function setX(string $x): static
4947
throw new InvalidValueException($e->getMessage(), $e->getCode(), $e->getPrevious());
5048
}
5149

52-
if ($x < -180 || $x > 180) {
50+
if (is_array($x) || $x < -180 || $x > 180) {
5351
throw new InvalidValueException(sprintf('Invalid longitude value "%s", must be in range -180 to 180.', $x));
5452
}
5553

@@ -65,7 +63,7 @@ public function setX(string $x): static
6563
*
6664
* @throws InvalidValueException when y is not in range of accepted value, or is totally invalid
6765
*/
68-
public function setY(string $y): static
66+
public function setY(string $y): self
6967
{
7068
$parser = new Parser($y);
7169

@@ -75,7 +73,7 @@ public function setY(string $y): static
7573
throw new InvalidValueException($e->getMessage(), $e->getCode(), $e->getPrevious());
7674
}
7775

78-
if ($y < -90 || $y > 90) {
76+
if (is_array($y) || $y < -90 || $y > 90) {
7977
throw new InvalidValueException(sprintf('Invalid latitude value "%s", must be in range -90 to 90.', $y));
8078
}
8179

lib/LongitudeOne/Spatial/PHP/Types/SpatialInterface.php

+26
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
namespace LongitudeOne\Spatial\PHP\Types;
2020

21+
use Doctrine\DBAL\Types\Type;
22+
2123
interface SpatialInterface
2224
{
2325
public const GEOGRAPHY = 'Geography';
@@ -30,4 +32,28 @@ interface SpatialInterface
3032
public const MULTIPOLYGON = 'MultiPolygon';
3133
public const POINT = 'Point';
3234
public const POLYGON = 'Polygon';
35+
36+
/**
37+
* Return the Spatial Reference Identifier (SRID) of this object.
38+
*
39+
* @return ?int
40+
*/
41+
public function getSrid();
42+
43+
/**
44+
* Return the type of this geometry or geography.
45+
* This function is used by the spatial type to get the type of the object.
46+
*
47+
* @return string
48+
*/
49+
public function getType();
50+
51+
/**
52+
* Set the Spatial Reference Identifier (SRID) of this object.
53+
*
54+
* @param ?int $srid the Spatial Reference Identifier (SRID)
55+
*
56+
* @return self
57+
*/
58+
public function setSrid($srid);
3359
}

tests/LongitudeOne/Spatial/Tests/Doctrine/ConnectionParameters.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public static function getCommonConnectionParameters(): array
3232
{
3333
// phpcs:enable Generic.Files.LineLength.MaxExceeded
3434
$connectionParams = [
35-
'driver' => static::checkDriver(),
35+
'driver' => self::checkDriver(),
3636
'user' => $GLOBALS['db_username'],
3737
'password' => '',
3838
'host' => $GLOBALS['db_host'],
@@ -72,8 +72,8 @@ public static function getCommonConnectionParameters(): array
7272
*/
7373
public static function getConnectionParameters(): array
7474
{
75-
$parameters = static::getCommonConnectionParameters();
76-
$parameters['dbname'] = static::getAlternateDatabaseName();
75+
$parameters = self::getCommonConnectionParameters();
76+
$parameters['dbname'] = self::getAlternateDatabaseName();
7777

7878
$connection = DriverManager::getConnection($parameters);
7979
$manager = $connection->createSchemaManager();
@@ -107,6 +107,6 @@ private static function checkDriver(): string
107107
*/
108108
private static function getAlternateDatabaseName(): string
109109
{
110-
return $GLOBALS['db_alternate'] ?? $GLOBALS['db_name'] ?? static::getCommonConnectionParameters()['dbname'] ?? 'main';
110+
return $GLOBALS['db_alternate'] ?? $GLOBALS['db_name'] ?? self::getCommonConnectionParameters()['dbname'] ?? 'main';
111111
}
112112
}

tests/LongitudeOne/Spatial/Tests/Fixtures/GeoLineStringEntity.php

+1-3
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@ public function getLineString(): LineString
6565
* Set lineString.
6666
*
6767
* @param LineString $lineString Linestring to set
68-
*
69-
* @return self
7068
*/
71-
public function setLineString(LineString $lineString): static
69+
public function setLineString(LineString $lineString): self
7270
{
7371
$this->lineString = $lineString;
7472

tests/LongitudeOne/Spatial/Tests/Fixtures/GeoPointSridEntity.php

+1-3
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,8 @@ public function getPoint(): Point
6363
* Set geography.
6464
*
6565
* @param Point $point point to set
66-
*
67-
* @return self
6866
*/
69-
public function setPoint(Point $point): static
67+
public function setPoint(Point $point): self
7068
{
7169
$this->point = $point;
7270

tests/LongitudeOne/Spatial/Tests/Fixtures/GeoPolygonEntity.php

+1-3
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@ public function getPolygon(): Polygon
6565
* Set polygon.
6666
*
6767
* @param Polygon $polygon polygon to set
68-
*
69-
* @return self
7068
*/
71-
public function setPolygon(Polygon $polygon): static
69+
public function setPolygon(Polygon $polygon): self
7270
{
7371
$this->polygon = $polygon;
7472

tests/LongitudeOne/Spatial/Tests/Fixtures/GeographyEntity.php

+1-3
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,8 @@ public function getId(): int
6363
* Set geography.
6464
*
6565
* @param GeographyInterface $geography Geography to set
66-
*
67-
* @return self
6866
*/
69-
public function setGeography(GeographyInterface $geography): static
67+
public function setGeography(GeographyInterface $geography): self
7068
{
7169
$this->geography = $geography;
7270

tests/LongitudeOne/Spatial/Tests/Fixtures/GeometryEntity.php

+1-3
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@ public function getId(): int
6565
* Set geometry.
6666
*
6767
* @param GeometryInterface $geometry geometry to set
68-
*
69-
* @return self
7068
*/
71-
public function setGeometry(GeometryInterface $geometry): static
69+
public function setGeometry(GeometryInterface $geometry): self
7270
{
7371
$this->geometry = $geometry;
7472

tests/LongitudeOne/Spatial/Tests/Fixtures/LineStringEntity.php

+1-3
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@ public function getLineString(): LineString
6565
* Set lineString.
6666
*
6767
* @param LineString $lineString linestring to set
68-
*
69-
* @return self
7068
*/
71-
public function setLineString(LineString $lineString): static
69+
public function setLineString(LineString $lineString): self
7270
{
7371
$this->lineString = $lineString;
7472

tests/LongitudeOne/Spatial/Tests/Fixtures/MultiLineStringEntity.php

+1-3
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@ public function getMultiLineString(): MultiLineString
6565
* Set multiLineString.
6666
*
6767
* @param MultiLineString $multiLineString multiLineString to set
68-
*
69-
* @return self
7068
*/
71-
public function setMultiLineString(MultiLineString $multiLineString): static
69+
public function setMultiLineString(MultiLineString $multiLineString): self
7270
{
7371
$this->multiLineString = $multiLineString;
7472

tests/LongitudeOne/Spatial/Tests/Fixtures/MultiPointEntity.php

+1-3
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@ public function getMultiPoint(): MultiPoint
6565
* Set multipoint.
6666
*
6767
* @param MultiPoint $multiPoint multipoint to set
68-
*
69-
* @return self
7068
*/
71-
public function setMultiPoint(MultiPoint $multiPoint): static
69+
public function setMultiPoint(MultiPoint $multiPoint): self
7270
{
7371
$this->multiPoint = $multiPoint;
7472

tests/LongitudeOne/Spatial/Tests/Fixtures/MultiPolygonEntity.php

+1-3
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@ public function getMultiPolygon(): MultiPolygon
6565
* Set multipolygon.
6666
*
6767
* @param MultiPolygon $multiPolygon multipolygon to set
68-
*
69-
* @return self
7068
*/
71-
public function setMultiPolygon(MultiPolygon $multiPolygon): static
69+
public function setMultiPolygon(MultiPolygon $multiPolygon): self
7270
{
7371
$this->multiPolygon = $multiPolygon;
7472

tests/LongitudeOne/Spatial/Tests/Fixtures/NoHintGeometryEntity.php

+1-3
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,8 @@ public function getId(): int
6464
* Set geometry.
6565
*
6666
* @param mixed $geometry the geometry to set
67-
*
68-
* @return self
6967
*/
70-
public function setGeometry(mixed $geometry): static
68+
public function setGeometry(mixed $geometry): self
7169
{
7270
$this->geometry = $geometry;
7371

tests/LongitudeOne/Spatial/Tests/Fixtures/PointEntity.php

+1-3
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@ public function getPoint(): Point
6565
* Set point.
6666
*
6767
* @param Point $point point to set
68-
*
69-
* @return self
7068
*/
71-
public function setPoint(Point $point): static
69+
public function setPoint(Point $point): self
7270
{
7371
$this->point = $point;
7472

tests/LongitudeOne/Spatial/Tests/Fixtures/PolygonEntity.php

+1-3
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@ public function getPolygon(): Polygon
6565
* Set polygon.
6666
*
6767
* @param Polygon $polygon polygon to set
68-
*
69-
* @return self
7068
*/
71-
public function setPolygon(Polygon $polygon): static
69+
public function setPolygon(Polygon $polygon): self
7270
{
7371
$this->polygon = $polygon;
7472

tests/LongitudeOne/Spatial/Tests/Helper/GeometryHelperTrait.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ protected static function createGeometryPoint(string $name, float $x, float $y):
4747
try {
4848
return new Point($x, $y);
4949
} catch (InvalidValueException $e) {
50-
static::fail(sprintf('Unable to create point %s(%d %d): %s', $name, $x, $y, $e->getMessage()));
50+
self::fail(sprintf('Unable to create point %s(%d %d): %s', $name, $x, $y, $e->getMessage()));
5151
}
5252
}
5353
}

0 commit comments

Comments
 (0)