Saya melihat referensi konstan ke "Way," seperti deskripsi kerangka kerja tertentu atau aplikasi sebagai "Pythonic," orang tertentu sebagai "hacker Hack," atau "kode Ruby yang sebenarnya," tetapi di mana "peretas PHP," aplikasi "PHP-ic", "gaya PHP yang sebenarnya"?
Ini membuat saya berpikir - apakah PHP bahkan memiliki gaya yang pasti? Mengatakan PHP mudah "dapat diubah" ke gaya lain tidak masuk hitungan, karena hal yang sama berlaku untuk bahasa apa pun yang masuk akal.
Setiap input sangat dihargai.
php
language-discussion
Jonathan Chan
sumber
sumber
Jawaban:
Tidak seperti banyak bahasa pemrograman lainnya, PHP tidak memiliki pemikiran pemersatu atau serangkaian ide inti: PHP dimulai sebagai kumpulan skrip perl yang sangat pragmatis, dan fitur ditambahkan sesuai kebutuhan, tanpa banyak proses desain formal. Hasilnya adalah bahasa yang cukup bermanfaat dan lengkap, tetapi tidak terlalu konsisten dengan sendirinya. Popularitas bahasa yang luar biasa itu memperburuk keadaan; segera setelah fitur baru diperkenalkan, secara praktis diatur dalam batu, karena semua orang mulai menggunakannya. Beberapa kesalahan desain telah dikonsolidasikan, dan tim PHP memiliki waktu yang sangat sulit membuat orang menjauh dari mereka -
register_globals
danmagic_quotes
hanya dua contoh hal-hal yang tampak seperti ide bagus pada saat itu tetapi ternyata merajalela.Faktor lain adalah budaya yang tumbuh di sekitar PHP. Ketika popularitasnya mulai tumbuh, kasus penggunaan khas untuk PHP adalah menambahkan potongan kecil fungsi sisi server ke dalam dokumen HTML yang statis. Sebagian besar audiens target adalah penggemar dan bukan pemrogram yang menggunakan PHP untuk menambahkan sedikit hal dinamis ke situs web statis mereka. Budaya yang dihasilkan sangat pragmatis, tanpa banyak minat untuk membangun 'cara yang tepat'; Meskipun dimungkinkan untuk menulis PHP yang cukup elegan, sebagian besar komunitas pengguna tidak begitu tertarik padanya, asalkan berfungsi.
Sebaliknya, bahasa-bahasa seperti python, ruby, Lisp, C #, Haskell dan lainnya telah memiliki filosofi sejak awal, dan komunitas umumnya merangkulnya dan mendorong bahasa untuk menghayati itu. (Jika Anda tertarik, ketikkan
import this
sesi python interaktif). Memiliki filosofi berarti ada pedoman untuk menggunakan dan memperluas bahasa, dan itu juga mengarah pada komunitas yang lebih homogen - jika Anda tidak setuju dengan filosofi, Anda lebih cenderung pergi begitu saja dan menemukan yang cocok untuk Anda. ; komunitas yang dihasilkan lebih mungkin untuk mencapai konsensus atas semua hal.Yang mengatakan, PHP memang memiliki kekuatan dan kelemahan, serta kasus tepi tidak jelas; menulis kode PHP idiomatis berarti menggunakan kekuatan dan menghindari kelemahan dan ketidakjelasan, seperti halnya dengan bahasa lain.
sumber
Saya pikir ketika orang mengatakan cara PHP, itu memiliki bobot negatif yang melekat padanya, itulah istilah yang kami gunakan di toko poligot (Python, C #, Ruby). Seperti "just-do-it-and-throw-it-out", seperti di dalamnya bisa memiliki goto's, menangani file bocor, kerentanan injeksi SQL, loop super mendalam bersarang, fungsi 3000-line dan masih digolongkan sebagai ' PHP-cara '. Jika dalam peer review seseorang mengatakan kepada saya bahwa kode itu sangat 'PHP-way', saya akan sangat tersinggung.
Saya menghargai ini akan menyebabkan beberapa api, jadi saya akan mengakui bahwa ada orang yang dikenal menghasilkan kode PHP yang baik, dan PHP digunakan di beberapa lokasi produksi utama. Saya hanya mengatakan apa yang orang-orang pikirkan dan lihat paling sering, pendapat itu dilakukan oleh tindakan mayoritas, bukan minoritas.
sumber
Jika ada "cara php" nya "Lakukan saja!".
Meskipun php memiliki semua konstruk OO modern Kelas, Ruang Nama Modul, Introspeksi dll. Plus semua barang pemrograman dinamis biasanya dikaitkan dengan bahasa yang lebih fashoinable seperti Python. Anda jarang melihat mereka digunakan hanya untuk itu, atau, lihat programmer PHP terobsesi dengan "kemurnian" implementasi mereka.
Saya tidak tahu mengapa harus ada perbedaan budaya - tetapi ada di sana.
Ada sejumlah kengerian di luar sana dan ini mungkin mencerminkan bahwa begitu banyak kode "php" adalah "My First Webapp" atau bahkan "My First Program".
Secara pribadi saya merasa cukup mudah untuk membaca / memahami kode php yang ditulis secara profesional, umumnya lebih mudah dibaca daripada aplikasi Java semua kelas Pabrik dan setengah logika dalam file XML.
sumber
Saya akan mengatakan cara PHP adalah "Duct Tape Programmer" - kirimkan dengan cepat, kirimkan dengan cepat, khawatir tentang segala sesuatu yang lain nanti dan patch bug cepat tanpa memikirkan masa depan. Sementara itu sama sekali bukan kecaman terhadap PHP itu sendiri (Anda dapat melakukannya dalam bahasa apa pun), baru-baru ini pengembang PHP mulai bertanya-tanya tentang rekayasa perangkat lunak dan pola desain, SOLID, pengujian, dan sejenisnya.
sumber
Saya akan mengatakan gagasan tentang PHP itu praktis. Apa artinya dalam setiap kasus terpisah sulit untuk didefinisikan, tetapi misalnya jika melakukan sesuatu memerlukan satu bentuk HTML dan lima baris kode, jangan menempatkan kerangka kerja MVC dengan 20 kelas di sana. Dan, sebaliknya, jika Anda mengembangkan aplikasi untuk 20 juta orang untuk digunakan, letakkan kerangka kerja di sana dan miliki logika, presentasi, dan kontrol aliran secara terpisah. Tapi tidak ada yang istimewa tentang PHP di sini, jadi saya kira itu mungkin bukan jawaban yang memuaskan.
Saya tidak berpikir ada satu gaya PHP. Saya pribadi berpikir bahwa anggapan bahwa ada satu gaya yang cocok untuk semua pengguna bahasa hanya masuk akal jika bahasa tersebut memiliki bidang penggunaan yang sangat terbatas, yang jelas tidak berlaku untuk PHP.
Aplikasi spesifik memiliki gaya mereka - misalnya, jika Anda melihat ke dalam Zend Framework, Anda akan melihat kode yang sangat OO dengan antarmuka yang ditentukan, API yang dikendalikan, dll. Di mana Anda dapat dengan mudah mengenali pola desain yang sudah dikenal. Di sisi lain, ada aplikasi yang mengambil lebih banyak pendekatan prosedural, seperti Drupal.
Saya mengerti itu tidak memberi Anda banyak "gaya PHP benar", tapi itu mungkin karena tidak ada hal seperti itu. Ada praktik terbaik, dll. Tapi bukan itu yang Anda cari, saya khawatir.
sumber
Beberapa orang menggunakan php sebagai tanda penghinaan - hanya fakta, secara pribadi saya penggemar.
Namun bagi saya hal yang mendefinisikan pendekatan php pada dasarnya adalah kurangnya konteks aplikasi. Tidak ada konteks aplikasi yang dibangun dibandingkan dengan .NET atau dunia Java.
Hal ini menyebabkan server php pada dasarnya tidak memiliki kewarganegaraan (selama sesi dipindahkan ke server lain misalnya disk bersama atau db)
Ini adalah apa yang saya pikirkan ketika saya memikirkan cara php.
sumber
Jawaban lain! Kali ini lebih merupakan pengamatan pada "budaya" pemrograman.
PHP berada di posisi yang sama dengan Javascript (ECMAscript to pedants!) Ada di sekitar tahun 2002. Sekelompok kecil programmer ahli menghargai keunggulannya, pendapat umum adalah bahwa itu adalah bahasa scripting yang buruk dan tidak jelas yang hanya berguna untuk menggulirkan spanduk dan pengguna yang mengganggu. dengan popup.
Kemudian datanglah AJAX dan tiba-tiba seluruh dunia kagum dengan kekuatan dan keanggunan Javascript.
Meskipun sebenarnya tidak seanggun Javascript, php memang berbagi banyak kekuatan dan kesederhanaan bahasa itu, dan ada konsensus pengumpulan tentang cara "benar" untuk memprogram php untuk sistem besar.
Indikator lain tentang seberapa baik php dalam lingkup spesialis adalah kurangnya kerangka kerja untuk aplikasi yang paling serius. Banyak programmer yang sangat berpengalaman senang hanya menggunakan "php" karena berdiri tanpa bantuan beberapa kerangka kerja mega. Banyaknya kerangka kerja dan alat bantu lain menunjukkan kepada saya bahwa Java, Python dll tidak bisa melakukannya dengan benar dan bahwa programmer yang menggunakan bahasa ini sangat tidak bahagia dan tidak yakin tentang bagaimana aplikasi web harus dibuat. Namun ketika mereka melihat bagaimana kode php sederhana murni digunakan untuk berhasil mengimplementasikan situs web yang kompleks tanpa konfigurasi XML yang tidak terbaca, dialek template bulan ini, atau, roll dialek ORM Anda sendiri, mereka menarik kesimpulan yang salah - bahwa php harus buruk karena tidak memiliki kelas IntegerFactory, injeksi dependensi dll.
Sebenarnya semua hal ini mudah diimplementasikan dalam php dan sering digunakan jika diperlukan - hanya saja implementasinya biasanya beberapa baris php dan tidak dikenali oleh programmer yang terbiasa melakukan hal yang sama dengan masif perpustakaan dan API kompleks.
php sederhana. "Sederhana" adalah pelengkap tertinggi yang dapat Anda berikan perangkat lunak dan paling sulit untuk dicapai.
sumber