Skip to content

Commit 177b732

Browse files
committed
refactor: replace config() calls with Config facade
- Updated multiple instances in CollectionDataTable, DataTables, DataProcessor, and Helper classes to use the Config facade for retrieving configuration values. - This change enhances consistency and aligns with best practices for configuration management in Laravel.
1 parent 41a22c7 commit 177b732

File tree

6 files changed

+28
-23
lines changed

6 files changed

+28
-23
lines changed

.github/workflows/static-analysis.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,20 @@ on:
77
- '*.x'
88

99
pull_request:
10+
paths:
11+
- .github/workflows/static-analysis.yml
12+
- composer.*
13+
- phpstan.neon.dist
14+
- src/**
15+
- tests/**
1016

1117
schedule:
1218
- cron: '0 0 * * *'
1319

1420
jobs:
1521
static-analysis-phpstan:
1622

17-
name: Source Code
23+
name: "Static Analysis with PHPStan"
1824
runs-on: ubuntu-latest
1925

2026
steps:
@@ -36,4 +42,4 @@ jobs:
3642
command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress
3743

3844
- name: Run Static Analysis
39-
run: vendor/bin/phpunit
45+
run: "vendor/bin/phpstan --error-format=table"

src/CollectionDataTable.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
1010
use Illuminate\Support\Arr;
1111
use Illuminate\Support\Collection;
12+
use Illuminate\Support\Facades\Config;
1213
use Illuminate\Support\Str;
1314

1415
class CollectionDataTable extends DataTableAbstract
@@ -184,9 +185,9 @@ public function results(): Collection
184185
private function revertIndexColumn($mDataSupport): void
185186
{
186187
if ($this->columnDef['index']) {
187-
$indexColumn = config('datatables.index_column', 'DT_RowIndex');
188+
$indexColumn = Config::string('datatables.index_column', 'DT_RowIndex');
188189
/** @var int|string $index */
189-
$index = $mDataSupport ? (is_int($indexColumn) || is_string($indexColumn) ? $indexColumn : 'DT_RowIndex') : 0;
190+
$index = $mDataSupport ? $indexColumn : 0;
190191
$start = $this->request->start();
191192

192193
$this->collection->transform(function ($data) use ($index, &$start) {

src/DataTables.php

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44

55
use Illuminate\Contracts\Database\Eloquent\Builder as EloquentBuilder;
66
use Illuminate\Contracts\Database\Query\Builder as QueryBuilder;
7+
use Illuminate\Support\Facades\Config;
78
use Illuminate\Support\Traits\Macroable;
89
use Yajra\DataTables\Exceptions\Exception;
9-
use Yajra\DataTables\Utilities\Config;
10+
use Yajra\DataTables\Utilities\Config as DataTablesConfig;
1011
use Yajra\DataTables\Utilities\Request;
1112

1213
class DataTables
@@ -42,8 +43,8 @@ public static function of($source)
4243
*/
4344
public static function make($source)
4445
{
45-
$engines = (array) config('datatables.engines');
46-
$builders = (array) config('datatables.builders');
46+
$engines = Config::array('datatables.engines', []);
47+
$builders = Config::array('datatables.builders', []);
4748

4849
$args = func_get_args();
4950
foreach ($builders as $class => $engine) {
@@ -89,7 +90,7 @@ public function getRequest(): Request
8990
/**
9091
* Get config instance.
9192
*/
92-
public function getConfig(): Config
93+
public function getConfig(): DataTablesConfig
9394
{
9495
return app('datatables.config');
9596
}
@@ -101,8 +102,7 @@ public function getConfig(): Config
101102
*/
102103
public function query(QueryBuilder $builder): QueryDataTable
103104
{
104-
/** @var string $dataTable */
105-
$dataTable = config('datatables.engines.query');
105+
$dataTable = Config::string('datatables.engines.query');
106106

107107
$this->validateDataTable($dataTable, QueryDataTable::class);
108108

@@ -116,8 +116,7 @@ public function query(QueryBuilder $builder): QueryDataTable
116116
*/
117117
public function eloquent(EloquentBuilder $builder): EloquentDataTable
118118
{
119-
/** @var string $dataTable */
120-
$dataTable = config('datatables.engines.eloquent');
119+
$dataTable = Config::string('datatables.engines.eloquent');
121120

122121
$this->validateDataTable($dataTable, EloquentDataTable::class);
123122

@@ -133,8 +132,7 @@ public function eloquent(EloquentBuilder $builder): EloquentDataTable
133132
*/
134133
public function collection($collection): CollectionDataTable
135134
{
136-
/** @var string $dataTable */
137-
$dataTable = config('datatables.engines.collection');
135+
$dataTable = Config::string('datatables.engines.collection');
138136

139137
$this->validateDataTable($dataTable, CollectionDataTable::class);
140138

src/DataTablesServiceProvider.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22

33
namespace Yajra\DataTables;
44

5+
use Illuminate\Support\Facades\Config;
56
use Illuminate\Support\ServiceProvider;
67
use Illuminate\Support\Str;
7-
use Yajra\DataTables\Utilities\Config;
8+
use Yajra\DataTables\Utilities\Config as DataTablesConfig;
89
use Yajra\DataTables\Utilities\Request;
910

1011
class DataTablesServiceProvider extends ServiceProvider
@@ -27,7 +28,7 @@ public function register()
2728

2829
$this->app->singleton('datatables.request', fn () => new Request);
2930

30-
$this->app->singleton('datatables.config', Config::class);
31+
$this->app->singleton('datatables.config', DataTablesConfig::class);
3132
}
3233

3334
/**
@@ -37,7 +38,7 @@ public function register()
3738
*/
3839
public function boot()
3940
{
40-
$engines = (array) config('datatables.engines');
41+
$engines = Config::array('datatables.engines', []);
4142
foreach ($engines as $engine => $class) {
4243
$engine = Str::camel($engine);
4344

src/Processors/DataProcessor.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Illuminate\Contracts\Support\Htmlable;
66
use Illuminate\Support\Arr;
7+
use Illuminate\Support\Facades\Config;
78
use Yajra\DataTables\Contracts\Formatter;
89
use Yajra\DataTables\Utilities\Helper;
910

@@ -67,9 +68,7 @@ public function __construct(protected iterable $results, array $columnDef, prote
6768
public function process($object = false): array
6869
{
6970
$this->output = [];
70-
$indexColumn = config('datatables.index_column', 'DT_RowIndex');
71-
/** @var int|string $indexKey */
72-
$indexKey = is_int($indexColumn) || is_string($indexColumn) ? $indexColumn : 'DT_RowIndex';
71+
$indexColumn = Config::string('datatables.index_column', 'DT_RowIndex');
7372

7473
foreach ($this->results as $row) {
7574
$data = Helper::convertToArray($row, ['hidden' => $this->makeHidden, 'visible' => $this->makeVisible, 'ignore_getters' => $this->ignoreGetters]);
@@ -80,7 +79,7 @@ public function process($object = false): array
8079
$value = $this->removeExcessColumns($value);
8180

8281
if ($this->includeIndex) {
83-
$value[$indexKey] = ++$this->start;
82+
$value[$indexColumn] = ++$this->start;
8483
}
8584

8685
$this->output[] = $object ? $value : $this->flatten($value);

src/Utilities/Helper.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Illuminate\Contracts\Support\Arrayable;
88
use Illuminate\Support\Arr;
99
use Illuminate\Support\Facades\Blade;
10+
use Illuminate\Support\Facades\Config;
1011
use Illuminate\Support\Str;
1112
use ReflectionFunction;
1213
use ReflectionMethod;
@@ -357,8 +358,7 @@ public static function isJavascript(string|array|object|null $value, string $key
357358
return false;
358359
}
359360

360-
/** @var array $callbacks */
361-
$callbacks = config('datatables.callback', ['$', '$.', 'function']);
361+
$callbacks = Config::array('datatables.callback', ['$', '$.', 'function']);
362362

363363
if (Str::startsWith($key, 'language.')) {
364364
return false;

0 commit comments

Comments
 (0)