Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

Ini adalah postingan yang diterjemahkan oleh AI.

초록 기린

Perkenalan tentang rector, alat pemutakhiran versi PHP

  • Bahasa penulisan: Bahasa Korea
  • Negara referensi: Semua negara country-flag

Pilih Bahasa

  • Bahasa Indonesia
  • English
  • 汉语
  • Español
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

Teks yang dirangkum oleh AI durumis

  • Alat migrasi bernama Rector diperkenalkan untuk mengatasi masalah sintaks dan versi yang dihentikan setelah pemutakhiran versi php.
  • Rector memeriksa dan memperbaiki sintaks kode PHP 5.3~8.2 agar sesuai dengan versi yang diinginkan.
  • Untuk menggunakan Rector, Anda perlu menginstal Composer, membuat file konfigurasi rector.php, menentukan aturan dan folder yang tidak ingin diterapkan, dan menjalankannya.

Saat melihat situs web GNU Board 5, CMS PHP di Korea, saya menemukan beberapa postingan yang mengeluh tentang masalah yang dihadapi setelah meningkatkan versi PHP, seperti sintaks yang tidak lagi didukung dan versi yang tidak kompatibel.

Lalu saya mencari solusi...

Saat saya mengunjungi reddit, saya menemukan bahwa ada alat bernama rector yang dapat membantu dalam migrasi. Berikut adalah panduan tentang cara menggunakannya.



Sejak PHP 7.0 diluncurkan pada tahun 2015, telah muncul alat migrasi PHP seperti php cs-fixer, rector, dan sebagainya.

rector tampak lebih mudah digunakan.

rector (pengucapan: rector) dapat memeriksa dan memperbaiki sintaks kode PHP 5.3 hingga 8.2 sesuai dengan versi yang Anda inginkan. 


Satu kekurangan rector adalah bahwa rector merupakan analis statis, sehingga tidak dapat mendeteksi kesalahan yang terjadi saat runtime.



Rector memerlukan instalasi composer, alat pengelola paket PHP.

1. Instal composer.

2. Instal rector di folder proyek Anda.

3. Buat file konfigurasi rector.php.



Konfigurasi rector.php

Untuk membantu pemahaman, saya akan membuat skenario.

Diasumsikan bahwa kode sumber adalah kode php 5.3 dan versi target yang ingin ditingkatkan adalah php 7.4.

Versi Rector adalah 1.0.3.

withPhpSets(php74: true)
    ->withParallel(1200, 8, 8)
    ->withPaths([
    __DIR__ . '/src',     // jalur kode sumber
])
->withSkip([
    Rector\Php73\Rector\ConstFetch\SensitiveConstantNameRector::class,
    Rector\Php74\Rector\LNumber\AddLiteralSeparatorToNumberRector::class,
    Rector\CodeQuality\Rector\If_\SimplifyIfElseToTernaryRector::class,
    Rector\Php53\Rector\Ternary\TernaryToElvisRector::class,
    Rector\Php80\Rector\Class_\ClassPropertyAssignToConstructorPromotionRector::class,
    Rector\Php80\Rector\FunctionLike\MixedTypeRector::class,
    Rector\CodeQuality\Rector\If_\SimplifyIfNullableReturnRector::class,
    Rector\Php80\Rector\Switch_\ChangeSwitchToMatchRector::class,
    Rector\Php74\Rector\Closure\ClosureToArrowFunctionRector::class,
    Rector\Php71\Rector\ClassConst\PublicConstantVisibilityRector::class,


RectorConfig::config() menetapkan folder kode sumber dan konfigurasi versi PHP.

Fungsi withPhpSets menetapkan fungsi PHP yang ingin ditingkatkan.


Jika versi PHP yang menjalankan rector adalah php 8.0, maka


Anda dapat menggunakan sintaks php-versi: true.

Namun, jika versi PHP yang berjalan di bawah php 7.4


Anda tidak dapat menggunakan sintaks parameter bernama dalam fungsi, jadi Anda harus menetapkan true ketika versi yang Anda inginkan muncul.

rector mendukung php 8.3, jadi untuk menentukan php 74, Anda dapat menggunakan kode berikut:

->withPhpSets(
false,  // php 8.3
false,  // php 8.2
false,  // php 8.1
false,  // php 8.0
false,   // php 8.1
true     // php 7.4 


->withPaths([
__DIR__ ,     // Ini adalah direktori tempat rector.php berada.
])  


->withSkip([
    Rector\Php73\Rector\ConstFetch\SensitiveConstantNameRector::class,
    Rector\Php74\Rector\LNumber\AddLiteralSeparatorToNumberRector::class,
    Rector\CodeQuality\Rector\If_\SimplifyIfElseToTernaryRector::class,
    Rector\Php53\Rector\Ternary\TernaryToElvisRector::class,
    Rector\Php80\Rector\Class_\ClassPropertyAssignToConstructorPromotionRector::class,
    '/data/*',  


Anda dapat menentukan aturan dan folder yang tidak ingin Anda terapkan.

Untuk folder, gunakan '/nama_folder/*'

Untuk file, gunakan 'nama_file'.


Saya menambahkan aturan "SensitiveConstantNameRector" karena 

rector tidak dapat menemukan indeks yang tidak ditentukan dalam array PHP dan hanya mengenalinya sebagai konstanta, sehingga mencoba mengubahnya secara tidak benar. Oleh karena itu, saya menambahkannya ke aturan pengecualian.

AddLiteralSeparatorToNumberRector //array -> []  
SimplifyIfElseToTernaryRector
TernaryToElvisRector

Aturan ini terkait dengan gaya kode, jadi saya mengecualikannya.


Jalankan

Ada dua cara:

Perintah ini hanya akan menampilkan kode yang perlu diubah di konsol.

Semakin banyak kode sumber, semakin banyak RAM yang dibutuhkan. Oleh karena itu, Anda perlu menentukan RAM yang digunakan dengan opsi --memory-limit=2G. 


 Perintah ini akan langsung mengubah kode sumber.

Anda perlu memeriksa dengan git karena mungkin ada opsi yang tidak diinginkan atau kesalahan.



피치
초록 기린
초록 기린
피치
[php] Mengatur Codeigniter 4 di Ubuntu Panduan pengaturan server pengembangan Codeigniter 4. Setelah menginstal Apache2 dan PHP versi 7, unduh file framework Codeigniter 4 dan unggah file proyek. Konfigurasi izin, instalasi ekstensi PHP yang diperlukan, modifikasi file php.ini, dan restart Apa
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

27 Maret 2024

Kumpulan Situs yang Membantu Penulisan Bahasa Inggris Artikel ini memperkenalkan berbagai alat daring yang membantu dalam menyunting tulisan bahasa Inggris. Dengan menggunakan fitur dari ChatGPT, ProWritingAid, Wordvice, Outwrite, Grammarly, dll., Anda dapat secara efektif memperbaiki tata bahasa, ejaan, dan
길리
길리
길리
길리
길리

1 April 2024

[python] Dasar Python 1 Memahami Modul Python Modul Python adalah file yang berisi variabel, fungsi, kelas, dll. Modul ini berguna untuk menggunakan modul yang dibuat oleh orang lain atau untuk mengumpulkan variabel, fungsi, dll yang digunakan bersama. `import` kata kunci dapat digunakan untuk memang
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

27 Maret 2024

Pembaruan Operasional 25 Januari 2024 (Jumat) Posting blog ini menyoroti perubahan gaya yang baru-baru ini diterapkan pada situs web, perbaikan SEO, dan perubahan yang terkait dengan penulisan artikel. Ini termasuk pemecahan masalah gaya pada lingkungan seluler, perbaikan kesalahan URL, pemendekan n
durumis-release
durumis-release
durumis-release
durumis-release

29 Januari 2024

#Pemasaran - Kalender Pemasar Tidak Memiliki Ruang Kosong Perencanaan promosi dalam pemasaran memang penting, namun seringkali kesempatan terlewatkan karena kurangnya pengambilan keputusan yang cepat dan persiapan yang memadai. Daripada keputusan internal, lebih baik mengumpulkan data melalui pengujian eksterna
30대의 존버살이를 씁니다.
30대의 존버살이를 씁니다.
30대의 존버살이를 씁니다.
30대의 존버살이를 씁니다.
30대의 존버살이를 씁니다.

17 Januari 2024

[Non-Majors, Survive as Developers] 7. What Helps and Doesn't Help When Applying for a New Job Saat mempersiapkan pekerjaan sebagai developer, blog teknologi tidak efisien, tetapi GitHub direkomendasikan untuk pengelolaan proyek dan berbagi kode sumber. Dari berbagai sertifikasi, sertifikasi Pemrosesan Informasi sangat penting untuk disiapkan, dan
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

29 Maret 2024