Skip to content

Commit 28bd7fa

Browse files
committed
chore: 升級 Laravel 5.8 → 6.0
基於 Carbon 2.x 分支,完成 Laravel 6.0 升級。 ## 主要變更 ### 依賴升級 - Laravel: 5.8.* → ^6.0 (v6.20.45) - PHP 要求: >=7.1.3 → ^7.2 - PHPUnit: ^7.5 → ^9.5 (兼容 PHP 8.x) - 移除: naux/sendcloud (不兼容 Laravel 6) ### Breaking Changes 修復 1. **array_except() 移除** (43 處修改) - 替換為 Arr::except() - 新增 use Illuminate\Support\Arr; 到 14 個檔案: - Controllers: CodesController, BasicInformation*, Api/BiogAddressController - Repositories: BiogMainRepository, AddrBelongsDataRepository, etc. - Resources: BiogMain 2. **str_contains() 移除** (7 處修改) - 替換為 Str::contains() - 新增 use Illuminate\Support\Str; 到 CodesController ## 相容性說明 ### 已知問題 - **naux/sendcloud 移除**: 該套件最高支援 illuminate/support ^5.5,不相容 Laravel 6 - 影響檔案: RegisterController.php - 需要: 尋找替代方案或等待套件更新 ### PHP 版本 - Laravel 6 設計用於 PHP 7.2-7.4 - 當前環境使用 PHP 8.4 會出現棄用警告(不影響功能) - 建議: 在 PHP 7.4 環境中運行以避免警告 ## 測試狀態 - Composer 依賴成功安裝 - PHPUnit 已升級到 9.6.29 - 測試在 PHP 8.4 環境有棄用警告(預期行為) ## 參考文檔 詳細升級指南見 UPGRADE_INSTRUCTIONS.md
1 parent a839125 commit 28bd7fa

16 files changed

Lines changed: 845 additions & 805 deletions

app/Http/Controllers/Api/BiogAddressController.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use App\Repositories\ToolsRepository;
1010
use Illuminate\Http\Request;
1111
use App\Http\Controllers\Controller;
12+
use Illuminate\Support\Arr;
1213
use Illuminate\Support\Facades\DB;
1314

1415
class BiogAddressController extends Controller
@@ -64,7 +65,7 @@ public function store($id, Request $request)
6465
}
6566
$data['c_addr'] = 0;
6667
$data = $request->all();
67-
$data = array_except($data, ['_token']);
68+
$data = Arr::except($data, ['_token']);
6869
$data['c_personid'] = $id;
6970
$data['c_fy_intercalary'] = (int)($data['c_fy_intercalary']);
7071
$data['c_ly_intercalary'] = (int)($data['c_ly_intercalary']);
@@ -123,7 +124,7 @@ public function update(Request $request, $id, $addr_id)
123124
$data['c_fy_intercalary'] = (int)($data['c_fy_intercalary']);
124125
$data['c_ly_intercalary'] = (int)($data['c_ly_intercalary']);
125126

126-
$data = array_except($data, ['_method', '_token']);
127+
$data = Arr::except($data, ['_method', '_token']);
127128
$data = $this->toolsRepository->timestamp($data);
128129
DB::table('BIOG_ADDR_DATA')->where('tts_sysno',$addr_id)->update($data);
129130
// dd(DB::table('BIOG_ADDR_DATA')->where('tts_sysno',$id)->first());

app/Http/Controllers/BasicInformationAddressesController.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use App\TextCode;
1212
use Carbon\Carbon;
1313
use Illuminate\Http\Request;
14+
use Illuminate\Support\Arr;
1415
use Illuminate\Support\Facades\Auth;
1516
use Illuminate\Support\Facades\DB;
1617

@@ -74,7 +75,7 @@ public function store(Request $request, $id)
7475
return redirect()->back();
7576
}
7677
$data = $request->all();
77-
$data = array_except($data, ['_token']);
78+
$data = Arr::except($data, ['_token']);
7879
$data['c_personid'] = $id;
7980
$data['c_fy_intercalary'] = (int)($data['c_fy_intercalary']);
8081
$data['c_ly_intercalary'] = (int)($data['c_ly_intercalary']);
@@ -216,7 +217,7 @@ public function update(Request $request, $id, $addr)
216217
$data['c_fy_intercalary'] = (int)($data['c_fy_intercalary']);
217218
$data['c_ly_intercalary'] = (int)($data['c_ly_intercalary']);
218219

219-
$data = array_except($data, ['_method', '_token']);
220+
$data = Arr::except($data, ['_method', '_token']);
220221
$data = $this->toolsRepository->timestamp($data);
221222
$addr = str_replace("--","-minus",$addr);
222223
$addr_l = explode("-", $addr);

app/Http/Controllers/BasicInformationAltnamesController.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use App\TextCode;
99
use Carbon\Carbon;
1010
use Illuminate\Http\Request;
11+
use Illuminate\Support\Arr;
1112
use Illuminate\Support\Facades\Auth;
1213
use Illuminate\Support\Facades\DB;
1314

@@ -71,7 +72,7 @@ public function store(Request $request, $id)
7172
return redirect()->back();
7273
}
7374
$data = $request->all();
74-
$data = array_except($data, ['_token']);
75+
$data = Arr::except($data, ['_token']);
7576
$data['c_personid'] = $id;
7677
$data = $this->toolsRepository->timestamp($data, True);
7778
$temp = DB::table('ALTNAME_DATA')->where([
@@ -157,7 +158,7 @@ public function update(Request $request, $id, $alt)
157158
return redirect()->back();
158159
}
159160
$data = $request->all();
160-
$data = array_except($data, ['_method', '_token']);
161+
$data = Arr::except($data, ['_method', '_token']);
161162
$data = $this->toolsRepository->timestamp($data);
162163
$alt = str_replace("--","-minus",$alt);
163164
//20200709聯合主鍵保留字弱點防禦函式,解析保留字。

app/Http/Controllers/BasicInformationController.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use App\Repositories\YearRangeRepository;
1515
use Carbon\Carbon;
1616
use Illuminate\Http\Request;
17+
use Illuminate\Support\Arr;
1718
use Illuminate\Support\Facades\Auth;
1819

1920
use App\Pinyin;
@@ -236,7 +237,7 @@ public function Duplicate_Collateral_Info($id)
236237
foreach ($addr as $addr_data) {
237238
$addr_data = (array)$addr_data;
238239
$addr_data['c_personid'] = $new_id;
239-
$addr_data = array_except($addr_data, ['_token']);
240+
$addr_data = Arr::except($addr_data, ['_token']);
240241
$addr_data = $this->toolRepository->timestamp($addr_data, True); //建檔資訊
241242
DB::table('BIOG_ADDR_DATA')->insert($addr_data);
242243
$this->operationRepository->store(Auth::id(), $new_id, 1, 'BIOG_ADDR_DATA', $addr_data['c_personid']."-".$addr_data['c_addr_id']."-".$addr_data['c_addr_type']."-".$addr_data['c_sequence'], $addr_data);
@@ -249,7 +250,7 @@ public function Duplicate_Collateral_Info($id)
249250
foreach ($source as $source_data) {
250251
$source_data = (array)$source_data;
251252
$source_data['c_personid'] = $new_id;
252-
$source_data = array_except($source_data, ['_token']);
253+
$source_data = Arr::except($source_data, ['_token']);
253254
DB::table('BIOG_SOURCE_DATA')->insert($source_data);
254255
$this->operationRepository->store(Auth::id(), $new_id, 1, 'BIOG_SOURCE_DATA', $source_data['c_personid']."-".$source_data['c_textid']."-".$source_data['c_pages'], $source_data);
255256
}
@@ -321,7 +322,7 @@ public function Duplicate_Collateral_Info($id)
321322
foreach ($inst as $inst_data) {
322323
$inst_data = (array)$inst_data;
323324
$inst_data['c_personid'] = $new_id;
324-
$inst_data = array_except($inst_data, ['_token']);
325+
$inst_data = Arr::except($inst_data, ['_token']);
325326
$inst_data = $this->toolRepository->timestamp($inst_data, True); //建檔資訊
326327
DB::table('BIOG_INST_DATA')->insert($inst_data);
327328
$this->operationRepository->store(Auth::id(), $new_id, 1, 'BIOG_INST_DATA', $inst_data['c_personid']."-".$inst_data['c_inst_code']."-".$inst_data['c_inst_name_code']."-".$inst_data['c_bi_role_code'], $inst_data);
@@ -334,7 +335,7 @@ public function Duplicate_Collateral_Info($id)
334335
foreach ($status as $status_data) {
335336
$status_data = (array)$status_data;
336337
$status_data['c_personid'] = $new_id;
337-
$status_data = array_except($status_data, ['_token']);
338+
$status_data = Arr::except($status_data, ['_token']);
338339
$status_data = $this->toolRepository->timestamp($status_data, True); //建檔資訊
339340
DB::table('STATUS_DATA')->insert($status_data);
340341
$this->operationRepository->store(Auth::id(), $new_id, 1, 'STATUS_DATA', $status_data['c_personid'].'-'.$status_data['c_sequence'].'-'.$status_data['c_status_code'], $status_data);

app/Http/Controllers/BasicInformationEntriesController.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use App\TextCode;
99
use Carbon\Carbon;
1010
use Illuminate\Http\Request;
11+
use Illuminate\Support\Arr;
1112
use Illuminate\Support\Facades\Auth;
1213
use Illuminate\Support\Facades\DB;
1314

@@ -77,7 +78,7 @@ public function store(Request $request, $id)
7778
return redirect()->route('basicinformation.entries.edit', ['id' => $id, '_id' => $_id]);
7879
*/
7980
$data = $request->all();
80-
$data = array_except($data, ['_token']);
81+
$data = Arr::except($data, ['_token']);
8182
$data['c_personid'] = $id;
8283
$data = $this->toolsRepository->timestamp($data, True);
8384
//20181217新增片段,api回傳值有-999需要轉為0
@@ -183,7 +184,7 @@ public function update(Request $request, $id, $id_)
183184
return redirect()->route('basicinformation.entries.edit', ['id'=>$id, 'id_'=>$id_]);
184185
*/
185186
$data = $request->all();
186-
$data = array_except($data, ['_method', '_token']);
187+
$data = Arr::except($data, ['_method', '_token']);
187188
$data = $this->toolsRepository->timestamp($data);
188189
//20181217新增片段,api回傳值有-999需要轉為0
189190
$data['c_entry_code'] = $data['c_entry_code'] == -999 ? '0' : $data['c_entry_code'];

app/Http/Controllers/BasicInformationOfficesController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use App\SocialInst;
1010
use Carbon\Carbon;
1111
use Illuminate\Http\Request;
12+
use Illuminate\Support\Arr;
1213
use Illuminate\Support\Facades\App;
1314
use Illuminate\Support\Facades\Auth;
1415
use Illuminate\Support\Facades\DB;
@@ -202,7 +203,7 @@ public function saveas($id, $cpk)
202203
}
203204
$data = $res2;
204205
$c_addr = $data2;
205-
$data = array_except($data, ['_token', 'c_addr']);
206+
$data = Arr::except($data, ['_token', 'c_addr']);
206207
$data['c_fy_intercalary'] = (int)($data['c_fy_intercalary']);
207208
$data['c_ly_intercalary'] = (int)($data['c_ly_intercalary']);
208209
$data['c_posting_id'] = DB::table('POSTED_TO_OFFICE_DATA')->max('c_posting_id') + 1;

app/Http/Controllers/BasicInformationSocialInstController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use App\TextCode;
99
use Carbon\Carbon;
1010
use Illuminate\Http\Request;
11+
use Illuminate\Support\Arr;
1112
use Illuminate\Support\Facades\Auth;
1213
use Illuminate\Support\Facades\DB;
1314

@@ -146,7 +147,7 @@ public function update(Request $request, $id, $id_)
146147
*/
147148

148149
$data = $request->all();
149-
$data = array_except($data, ['_method', '_token']);
150+
$data = Arr::except($data, ['_method', '_token']);
150151
$data = $this->toolsRepository->timestamp($data);
151152
//20210804在這裡處理c_inst_code傳遞過來的值,分別儲存至c_inst_code與c_inst_name_code欄位,$c_inst_name_code預設為0
152153
$temp = explode("-", $data['c_inst_code']);

app/Http/Controllers/BasicInformationTextsController.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use App\TextCode;
99
use Carbon\Carbon;
1010
use Illuminate\Http\Request;
11+
use Illuminate\Support\Arr;
1112
use Illuminate\Support\Facades\Auth;
1213
use Illuminate\Support\Facades\DB;
1314

@@ -73,7 +74,7 @@ public function store(Request $request, $id)
7374
return redirect()->back();
7475
}
7576
$data = $request->all();
76-
$data = array_except($data, ['_token']);
77+
$data = Arr::except($data, ['_token']);
7778
$data['c_personid'] = $id;
7879
$data = $this->toolsRepository->timestamp($data, True);
7980
$temp = DB::table($this->table_name)->where([
@@ -136,7 +137,7 @@ public function update(Request $request, $id, $id_)
136137
return redirect()->back();
137138
}
138139
$data = $request->all();
139-
$data = array_except($data, ['_method', '_token']);
140+
$data = Arr::except($data, ['_method', '_token']);
140141
$data = $this->toolsRepository->timestamp($data);
141142
$temp_l = explode("-", $id_);
142143

app/Http/Controllers/CodesController.php

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use Illuminate\Support\Facades\DB;
1313
use Illuminate\Support\Facades\Schema;
1414
use Illuminate\Support\Arr;
15+
use Illuminate\Support\Str;
1516
use phpDocumentor\Reflection\Types\Null_;
1617

1718
class CodesController extends Controller
@@ -302,7 +303,7 @@ public function update(Request $request, $table_name, $id)
302303
foreach ($conditions as $column => $value) {
303304
$query->where($column, $value);
304305
}
305-
$data = array_except($request->all(), ['_method', '_token', '__proposal_comment']);
306+
$data = Arr::except($request->all(), ['_method', '_token', '__proposal_comment']);
306307
$data = $this->enforceAuditFieldsForUpdate($data, $originalRow ?: []);
307308

308309
try {
@@ -552,7 +553,7 @@ public function store(Request $request, $table_name)
552553
flash('該代碼表為只讀,禁止新增。', 'warning');
553554
return redirect()->route('codes.show', ['table_name' => $table]);
554555
}
555-
$data = array_except($request->all(), ['_token', '__proposal_comment']);
556+
$data = Arr::except($request->all(), ['_token', '__proposal_comment']);
556557
$keyColumns = $this->getKeyColumns($table);
557558
if (!$this->hasPrimaryKeyValues($keyColumns, $data)) {
558559
flash('新增失敗:請確認主鍵欄位已填寫完整。', 'error');
@@ -709,13 +710,13 @@ protected function buildTableHead(string $table, $sampleRow): array
709710
}
710711

711712
if (
712-
str_contains($key, 'name') ||
713-
str_contains($key, 'desc') ||
714-
str_contains($key, 'code') ||
715-
str_contains($key, 'id') ||
716-
str_contains($key, 'sequence') ||
717-
str_contains($key, 'chn') ||
718-
str_contains($key, 'dy')
713+
Str::contains($key, 'name') ||
714+
Str::contains($key, 'desc') ||
715+
Str::contains($key, 'code') ||
716+
Str::contains($key, 'id') ||
717+
Str::contains($key, 'sequence') ||
718+
Str::contains($key, 'chn') ||
719+
Str::contains($key, 'dy')
719720
) {
720721
$thead[] = $key;
721722
$count++;

app/Http/Resources/BiogMain.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace App\Http\Resources;
44

55
use Illuminate\Http\Resources\Json\Resource;
6+
use Illuminate\Support\Arr;
67

78
class BiogMain extends Resource
89
{
@@ -15,7 +16,7 @@ class BiogMain extends Resource
1516
public function toArray($request)
1617
{
1718
// return parent::toArray($request);
18-
$json = array_except(parent::toArray($request), ['tts_sysno', 'c_personid']);
19+
$json = Arr::except(parent::toArray($request), ['tts_sysno', 'c_personid']);
1920
return $json;
2021
}
2122

0 commit comments

Comments
 (0)