AngularJS sangat kuat dalam hal HTML5 interaktif dan penjilidan model. Di sisi lain, kerangka kerja PHP seperti Yii memungkinkan pengembangan aplikasi web yang cepat, terstruktur dengan baik, aman dan kuat. Kedua teknologi menyediakan sarana canggih untuk akses data, iterasi, dan tata letak halaman.
Apakah ini praktik yang baik atau buruk untuk mencampurkan kedua pendekatan tersebut ("pengaturan halaman" sisi klien dan sisi server) atau apakah ini agak bertentangan dengan makna aplikasi web AJAX HTML5 yang interaktif dan mulus?
Saya tidak berbicara tentang menghasilkan JS menggunakan PHP ( Lihat pertanyaan ini ) - Saya berbicara tentang menghasilkan tampilan yang akan menggunakan AngularJS.
Saya juga tahu bahwa halaman AngularJS harus (atau dapat) berkomunikasi dengan server melalui layanan REST untuk mendapatkan data ( Lihat pertanyaan ini ) alih-alih mengambilnya dari misalnya variabel PHP secara langsung. Tetapi bagi saya tampaknya lebih mudah untuk merancang "bingkai" untuk seluruh aplikasi web secara terpisah dalam PHP (misalnya membangun menu utama atau menangani otorisasi / sesi, dll.)
Jawaban:
Sepertinya Anda mungkin lebih nyaman dengan pengembangan dalam PHP, Anda membiarkannya menghambat Anda memanfaatkan potensi penuh dengan aplikasi web.
Memang mungkin untuk membuat sebagian PHP dan seluruh tampilan, tetapi saya tidak akan merekomendasikan hal ini.
Untuk sepenuhnya memanfaatkan kemungkinan HTML dan javascript untuk membuat aplikasi web, yaitu, halaman web yang bertindak lebih seperti aplikasi dan sangat bergantung pada rendering sisi klien, Anda harus mempertimbangkan untuk membiarkan klien mempertahankan semua tanggung jawab mengelola keadaan dan presentasi. Ini akan lebih mudah untuk dipertahankan, dan akan lebih ramah pengguna.
Saya akan merekomendasikan Anda untuk mendapatkan pemikiran yang lebih nyaman dengan pendekatan yang lebih fokus pada API. Alih-alih memiliki PHP output tampilan pre-render, dan menggunakan sudut untuk manipulasi DOM belaka, Anda harus mempertimbangkan memiliki PHP backend output data yang harus ditindaklanjuti dengan RESTFully, dan minta Angular menyajikannya.
Menggunakan PHP untuk menyajikan tampilan:
/user/account
Bagaimana masalah yang sama dapat diselesaikan dengan pendekatan sentris API dengan mengeluarkan JSON seperti ini:
api/auth/
dan di Angular Anda bisa mendapatkan, dan menangani sisi klien respons.
Untuk memadukan sisi klien dan sisi server cara yang Anda usulkan mungkin cocok untuk proyek yang lebih kecil di mana pemeliharaan tidak penting dan Anda adalah penulis tunggal, tetapi saya lebih condong ke arah cara sentris API karena ini akan menjadi pemisahan yang lebih tepat dari masalah dan keinginan lebih mudah dirawat.
sumber
a wall of javascript
? Saya baru di dunia Angular / JS API setelah bertahun-tahun merender PHP, jadi diskusi ini menarik bagi saya.