Perubahan apa dalam kode yang diperlukan untuk membuat ekstensi Joomla 3.5 ekstensi PHP7?


9

(Tolong bersamaku, aku minta maaf tapi aku tidak bisa menanyakan ini dengan cepat.)

Kita semua hampir tidak menunggu untuk Versi Stabil Joomla 3.5.0, bukan?

RC3 RC4 dirilis hari ini dan itu hanya masalah beberapa hari sampai dia akhirnya dirilis ( Joomla 3.5.0 Stable baru saja dirilis pada hari Senin, 21 Maret 2016 ), setelah lebih dari setahun dalam pembuatan dan berbagai perubahan tujuan dan penundaan ETA.

Fitur terbesar, di antara semua peningkatan nyata lainnya , pastinya adalah kemampuan untuk menjalankan PHP7 terbaru, menghasilkan eksekusi yang hampir 50% lebih cepat dan hampir 4 kali penurunan konsumsi memori ( sumber ).

Karena perubahan dalam PHP7 (pengenalan petunjuk jenis dan kata-kata yang sekarang disediakan "int", "string" dan "float") itu akan menghasilkan Istirahat Kompatibilitas Mundur untuk banyak ekstensi, meskipun inti Joomla 3.5.0 sendiri akan sepenuhnya kompatibel dengan PHP7.
( sumber: Istirahat Kompatibilitas mundur dari Berita Rilis RC4 :)

Kami memiliki janji kompatibilitas mundur untuk memastikan kode tidak tiba-tiba rusak. Namun ada beberapa keadaan yang bisa memaksa kita untuk tidak lagi menepati janji ini. Di Joomla 3.5 inilah masalahnya. Karena perubahan dalam PHP 7, kami harus mengubah nama kelas String menjadi StringHelper jika tidak, Joomla! tidak dapat berjalan di PHP 7. Ini adalah perubahan yang sangat kecil dan kami tidak mengharapkan ada masalah darinya. Bagi yang berminat, Anda dapat membacanya lebih lanjut di paket Update to String 1.3 .

Saya telah dengan tajam mengikuti perkembangannya dan menguji J! 3.5.0 di SiteGround's PHP7 sejak Betas pertamanya hingga RC4 terbaru, dan saya dapat mengonfirmasi bahwa perbaikannya terlihat dan bagus.

TAPI ... Saat ini saya sangat prihatin. Seberapa cepat kita akan melihat semua ekstensi diperbarui sepenuhnya untuk mendukung PHP7? Ada kemungkinan besar bahwa itu akan memakan waktu berbulan-bulan sampai kita dapat dengan bebas menjalankan situs-situs kita pada PHP baru yang dikonfigurasikan seperti sekarang di v3.4.8.

SO ... Saya serius mempertimbangkan secara manual memperbarui beberapa ekstensi admin favorit saya untuk mendukung PHP7 , sehingga saya dapat terus menggunakannya di v3.5 baru. Bagi mereka yang populer dan didukung secara aktif (seperti Akeeba, JCE, dll ...) Saya akan menunggu pembaruan pengembang berharap mereka akan datang cukup cepat. Tetapi bagi mereka yang tidak lagi didukung secara aktif (ada banyak dari mereka yang terus saya gunakan untuk waktu yang lama, tolong jangan tanya saya detailnya), saya harus memperbaruinya sendiri.

DAN ... Pertanyaan saya akhirnya adalah: Apakah Anda tahu perubahan kode apa yang diperlukan untuk membuat ekstensi PHP7 kompatibel?
Maksudku, selain perubahan yang harus dialami tim Joomla untuk paket Update to String 1.3 ...


1
Saya pikir sebagian besar posting ini dapat diedit / dihapus. Fokus utama dari pertanyaan adalah "Perubahan kode apa yang diperlukan untuk membuat ekstensi Joomla 3.5 kompatibel dengan PHP7?" Meskipun saya pikir referensi yang disertakan untuk perubahan yang diketahui adalah penting.
TryHarder

1
@moomoochoo - Thanx untuk judul perubahan man ... Saya juga berpikir bahwa referensi penting untuk khalayak yang lebih luas ...
Mikan

1
Jika salah satu ekstensi yang Anda gunakan menggunakan pemuat ioncube, maka Anda mungkin harus menunggu beberapa saat. forum.ioncube.com/... Dalam situasi ini, memodifikasi ekstensi tidak akan membantu.
TryHarder

@oooooo - Thanx untuk menunjukkan hal itu, adalah baik untuk mengetahui bahwa ioncube masih tidak kompatibel dengan PHP terbaru, meskipun fokus utama saya adalah pada semua ekstensi pembantu kecil yang kami berpengalaman admin tidak dapat membayangkan kotak alat kami tanpa, dan yang hampir tidak menggunakan tingkat perlindungan lisensi.
Mikan

1
Meskipun mungkin tidak mencakup fokus Anda, saya harap ini relevan dan bermanfaat bagi orang lain :)
TryHarder

Jawaban:


5

Ok, hal pertama yang pertama. Joomla 3.5.0 stable akan dirilis besok Senin depan :)

Saya mengambil langkah mundur dan pertama-tama mengambil cadangan situs Anda dan menginstalnya di subdomain atau hosting lokal Anda, menjalankan PHP 7.0.4.

Setelah selesai, uji secara menyeluruh.

Sedangkan untuk ekstensi, I Nicolas dari Akeeba sudah mendukung PHP 7 dan ekstensi populer lainnya kemungkinan besar sudah mendukungnya.

Saya akan menahan diri untuk tidak melakukan perubahan inti apa pun dan menunggu pengembang memperbarui sebagaimana dan ketika memungkinkan. Anda tahu bor "core hack" .... ini adalah area "no go".

Adapun perubahan inkompatibilitas mundur, lihat berikut ini dari situs web PHP resmi:

http://php.net/manual/en/migration70.incompatible.php

Secara keseluruhan, mungkin menunggu beberapa bulan hingga PHP 7 sedikit lebih stabil. Ini masih relatif baru dan pasti akan ada beberapa bug besar di luar sana.

Semoga ini membantu


Tentunya ini membantu ... Terima kasih ... Tidak bisa menunggu sampai besok ;-)
Mikan

Sepertinya mereka menunda Stable lagi :-( twitter.com/viktorvogel/statuses/710007837850791937 , tetapi mereka malah merilis RC4 hari ini ... Oh, well ...
Mikan

2
@MirkoMikan - Stable sekarang Senin depan
Lodder

2

Ini BUKAN jawaban untuk pertanyaan saya, saya hanya ingin membagikan tautan yang baru saja saya temukan dan yang mungkin membantu dalam meningkatkan Joomlas ke 3.5:

Ada Google Doc " Daftar Joomla! Ekstensi Mendukung Joomla! 3.5 dan PHP 7 ", yang tersedia untuk umum dan dikelola oleh komunitas (bagaimanapun juga, kita berbicara tentang Joomla :-)).

Saya tahu saya harus meletakkannya sebagai komentar dan bukan sebagai jawaban, tapi saya pikir ini lebih terlihat seperti ini.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.