Apa yang salah dengan ciri-ciri?





Tampaknya Anda hanya perlu mengatakan "ciri-ciri" dan holivar akan dimulai. Kami sudah memulainya secara tidak sengaja beberapa minggu lalu. Dan kemudian kami memutuskan untuk mencari tahu. Apa itu lebih? Sebuah cara untuk mengurangi duplikasi kode. Cara cepat untuk mengimplementasikan fungsionalitas. Implementasi default dari antarmuka. Atau kejahatan kuno?



Pertimbangkan dengan contoh - Rabu malam ini di YouTube . Dan di bawah ini Anda bisa melihat posisi peserta siaran.



Bagaimana jadinya. Kami akan mengatur sesuatu yang mendekati debat: serangkaian putaran, lawan, moderator. Dan memilih posisi yang Anda suka.



Valentin Udaltsov (penulis saluran Pykh ) akan menjadi lawan yang gigih dari sifat-sifat tersebut. Roman Pronsky ( PHP-Digest ) - host. Nah, yang lainnya akan mempertahankan nama baik dari sifat-sifat itu.





Kirill Nesmeyanov, advokat pengembang di SpiralScout, anggota Komite Pemrograman PHP Rusia



- Apa yang salah dengan sifatnya?



- Ya, semuanya "seperti itu" dengan mereka: ini adalah alat - gunakan dengan benar. Memalu paku dengan mikroskop bukanlah banyak kecerdasan. Masalahnya adalah mereka yang mencoba mendorong mereka ke tempat yang seharusnya tidak mereka lakukan, dan kemudian mereka berkata : "Oh baiklah, itu saja, sebaiknya saya pergi ke front-end . "



- Kenapa kamu tertarik membicarakan ini?



- Karena tidak semua orang mengerti untuk jenis tugas apa sifat itu ditemukan. Untuk beberapa alasan mereka biasanya dianggap sebagai sarana untuk membagi kelas secara fisik. Saatnya berhenti!



- Dapatkah 2 jam online membuat Anda mengubah posisi?



- Tidak.





Sergey Zhuk, pimpinan tim di Skyeng, pembawa acara podcast "Between Brackets"



- Apa yang salah dengan sifatnya?



- Seperti alat apa pun, sifat tersebut harus ada di gudang pengembang. Tetapi perlu digunakan dengan benar: misalnya, untuk berbagi beberapa metode pembantu antara kelas yang tidak terkait di perpustakaan, di mana kami ingin memberi pengguna kemampuan untuk memperluas fungsionalitas tanpa pewarisan atau DI.



Tentu saja, ciri-ciri tersebut bisa bocor. Dan agar tidak menembak diri saya sendiri di kaki, saya telah mengidentifikasi tiga aturan untuk diri saya sendiri:



  • Sifat apa pun harus memiliki antarmuka yang sesuai.
  • Suatu sifat harus benar-benar mandiri: segala sesuatu yang digunakannya harus dinyatakan di dalam dirinya sendiri.
  • Sifat harus sekecil mungkin. Idealnya, satu metode, satu sifat.


- Kenapa kamu tertarik membicarakan ini?



- Banyak pengembang yang sepenuhnya menentang fitur PHP ini. Menarik untuk berdebat dengan mereka. Sejauh ini bagi saya sepertinya: "Saya mencoba git rebase -> mengacaukan repositori saya -> git rebase jahat . "



- Dapatkah 2 jam online membuat Anda mengubah posisi?



- Iya.





Ivan Leschev, pengembang di BotHelp.io



- Apa yang salah dengan sifatnya?



- Semuanya baik-baik saja, hanya seseorang yang tidak tahu cara memasaknya dengan benar.



- Kenapa kamu tertarik membicarakan ini?



- Sangat menarik melihat contoh desain yang baik dan buruk.



- Dapatkah 2 jam online membuat Anda mengubah posisi?



- Kemungkinan besar tidak dari ya.





Alexander Dubovskoy, CTO di Radon, anggota aktif komunitas Drupal



- Apa yang salah dengan sifatnya?



- Seperti itu. Itu hanya palu yang bisa kamu pukul dengan jari.



Holyvar terbentang dari setidaknya artikel Anthony Ferrara tahun 2011 Are traits the new eval . Tapi kemudian ada beberapa contoh bagus, yang sekarang Anda dapat dengan mudah membuka komponen Symfony. LockableTrait yang sama sangat nyaman dan dapat dimengerti mengapa dan mengapa)



- Mengapa Anda tertarik membicarakan hal ini?



- Setiap perselisihan arsitektur itu menarik. Paling tidak, Anda akan mendengar sudut pandang baru dan mencari tahu apa lagi untuk dibaca.



- Dapatkah 2 jam online membuat Anda mengubah posisi?



- Tidak.



ps

Nikita Popov: Saya tidak terlalu suka sifat. Saya terlibat dalam pengembangan sejak PHP 5.5 dan ditambahkan di 5.4. Jika saya dulu, mereka pasti tidak akan ditambahkan.



pps Jika ada cerita bagus tentang bagaimana suatu sifat menyelamatkan atau merusak semua orang, silakan bagikan di aliran pada tanggal 23 Desember . Dan dalam hal apapun - terhubung.



All Articles