mirror of
https://github.com/wearepixel/laravel-cart.git
synced 2026-11-14 22:01:48 +00:00
feat: add PHPStan level 5 with zero errors
- Install phpstan/phpstan, add phpstan.neon at level 5 targeting PHP 8.3 - Add phpstan-bootstrap.php stubs for Laravel helper functions (app, config, config_path, app_path, session) unavailable in standalone packages - Fix CartCondition::setOrder() - removed incorrect @return int (method is void) - Fix CartCondition::getCalculatedValue() - removed incorrect @return mixed PHPDoc - Fix Cart::condition() - remove redundant instanceof check the type system already guarantees - Fix Cart::fireEvent() - remove array_values() on already-list literal array - Fix ItemCollection - add @property annotations for magic __get properties - Fix ItemCollection::getAssociatedModel() - correct @return bool to @return mixed - Fix ItemCollection::getConditions() - remove dead is_array && !instanceof check - Fix Validator - add @method stub so PHPStan resolves make() through __callStatic - Add ignoreErrors for trait.unused (HasCart designed for external Livewire use) - Add ignoreErrors for round() mode mismatch (PHPStan 2.x PHP 8.4 stubs bug) - Add phpstan step to CI (PHP 8.3 only, matches phpVersion config)
This commit is contained in:
+11
-3
@@ -5,6 +5,14 @@
|
||||
use Illuminate\Support\Collection;
|
||||
use Wearepixel\Cart\Helpers\Helpers;
|
||||
|
||||
/**
|
||||
* @property mixed $id
|
||||
* @property string $name
|
||||
* @property float|int $price
|
||||
* @property int|float $quantity
|
||||
* @property array<string, mixed> $attributes
|
||||
* @property mixed $conditions
|
||||
*/
|
||||
class ItemCollection extends Collection
|
||||
{
|
||||
/**
|
||||
@@ -46,7 +54,7 @@ public function __get($name)
|
||||
/**
|
||||
* return the associated model of an item
|
||||
*
|
||||
* @return bool
|
||||
* @return mixed
|
||||
*/
|
||||
protected function getAssociatedModel()
|
||||
{
|
||||
@@ -97,7 +105,7 @@ public function getConditions()
|
||||
|
||||
// check if we're already an array of CartConditions
|
||||
foreach ($conditions as $key => $condition) {
|
||||
if ($condition instanceof CartCondition) {
|
||||
if (is_object($condition) && $condition instanceof CartCondition) {
|
||||
return $conditions;
|
||||
}
|
||||
}
|
||||
@@ -105,7 +113,7 @@ public function getConditions()
|
||||
$hasSubArray = false;
|
||||
|
||||
foreach ($conditions as $key => $condition) {
|
||||
if (is_array($condition) && ! $condition instanceof CartCondition) {
|
||||
if (is_array($condition)) {
|
||||
$hasSubArray = true;
|
||||
$conditionsArray[] = new CartCondition($condition);
|
||||
} elseif ($condition instanceof CartCondition) {
|
||||
|
||||
Reference in New Issue
Block a user